Well are you using a bnc? If so, when you have external ident set to true, ie: "Get_External_Ident = TRUE", when you login without the bnc , and just through regular ip address, if you don't have *@* it will say login failed.
Don't know why it does that, but it did it to me aswell.
-Not sure if this was the problem uve had tho, since u say when u delete the catch it works, so i duno