Check your type case: C# is case sensitive, so "userName" is not the same as "username".
If your call is referencing "username":
bool success = objIAccountData.Login(login.username, login.password, false);
It's possible it needs "userName"
bool success = objIAccountData.Login(login.userName, login.password, false);
If you are being consistent in your naming conventions.