Well I fixed it like this:
taking out the getline seems to have done the trick. As all the passwords are in the form xxx xxx it doesn't cause me any limitations. I don't understand why this has cured it though, I thought that getline read until it encounterd a null character.
while (goodup != 1)
cout << "\n\n\tPlease enter your username (first [space] last): ";
cin >> firstName >> lastName;
UserName = firstName+" "+lastName;
cout << "\n\tPlease enter your password: ";
cin >> Password;
The password input only requires one enter now as well without further modification. Strange!
Thanks very much for all of your help.