Of course, if you nest each stage even deeper then the first character to produce a false result is enough to escape and reach the one and only return statement.
Hey guys, sorry for getting back so late but I have found the solution. I wanted to thank you all for taking the time to try and help me out, I truly appreciate it. The fix was a simple one, and it made me feel really dumb not figuring it out sooner but here it is.
UPDATE: SOLVED.
1 2 3 4 5
//ROUND 2
if (GameOver == false)
{
cout << "You have 4 guesses left. Enter your second letter guess: " << endl;
cin >> letterguess;
the simple fix:
1 2 3 4 5
//ROUND 2
if (GameOver == false && validLetterGuess == true)
{
cout << "You have 4 guesses left. Enter your second letter guess: " << endl;
cin >> letterguess;
works like a charm. Breaks when more than one letter is entered, as it should. Hopefully this will help someone else, or enlighten us. Thanks again for all the help!