Okay, I've managed to fix the username glitch. Underscores and hyphens are supported by the site, yet pages were saying they were invalid.
I fixed the avatar issue. The uploader set the uncropped image as avatar then replaced it when cropped. Problem: The uncropped should never be saved.
Fixed the message counters. The little [1] on Private Messages and the name menu was showing for messages that were trashed as well as unread.