I agree that I typically don't like to see nn as official names. I have a friend who named his kid
Mikey. He is 5 now, and everyone still calls him
Mikey but I guess time will tell if he ever chooses to go by
Mike.
My suggestion? What about
Joe as the full name? You can still call him
Joey, he can still go by
Joey, and it's not as fancy (or whatever the reason) as
Joseph.
(I knew a sixth grader last year who went by
Joey. This is the name he wanted people to use, his full name was
Joseph. I also know a man around 30 who likes to be called
Joey, but only by his good friends. So he may like
Joey anyway.)