Though say this relates to bans, which comes to a confusing point. IRC servers only use * as a wildcard, and ? will serve no purpose.
Dunno about other networks (maybe you're right) but on DALnet the "?" matches a single character in a ban.
Thus if you ban d?ck!*@* then both deck and duck nicks won't be able to join your channel.
I tried making a few tests about 15 months back, when I was doing some work on testing and implimenting some new stuff into no-spam, and for another script, that was designed to inteligently pick a hostmask from a user.
On EFnet, I found that only the * worked.
Now, with the use of the 2 IRCD's (comstud and hybrid), there may be a differance, and on top, it would vary from server to server.
I gave up work on this, plainly due to the fact, that I couldn't test it, and if the support wasn't in 1 of the big 4 networks, then is was pointless.