RDSHandler.vb cleans the incoming username with this routine:
Private Sub CleanUsername()
' RD Gateway sends EXAMPLE\username
' RD Web sends example\username or - TODO - even example.com\username
If Not mUsername = Nothing Then
mUsername = mUsername.ToLower
End If
End Sub
However, the comment about RD Web sending example\username seems to be wrong - rather, it seems that RD Web sends the domainusername in whatever form the user wrote it.
If the user types EXAMPLE\My.Name, the challenge fails because RDSHandler will encrypt the challenge using the lower case form, while the client will use the form it was entered in.