It's not vulgar, but it's very intimate. I wouldn't say "малыш" to a girl who is not my girlfriend.

"Детка" is not good either. "Детка" suggests your superiority. It may be OK between close frieds...