I like Barnabas, but I like Barnaby even more.
As far as nicknames go, I don't like Barney either. I think if it were my son, I'd just call him B for short. You could also go with Bas, or maybe Arby or Abby (I like Abby on a guy,) but those are stretches.