Não consigo reproduzir o problema. Há alguma chance de você ter digitado algum tipo de espaço em branco invisível ou algo assim quando a mensagem de erro “deve conter apenas números, letras, hífens, pontos e sublinhados” foi exibida?
A verificação do nome de usuário é feita no servidor, então, se houvesse um problema com a expressão regular, ela sempre geraria os mesmos resultados para a mesma entrada.