Your comment about getting "[00]Dingleberry" makes me wonder...

Why would you get two zeros? Your not formatting "cereal" with DEC - or any qualifier. Perhaps you should; perhaps you are getting an ASCII non printing character "printed" to your output (a non-printing character of ASCII value 1 for example)? It seems to me that somewhere, something is happening as the 00 is coming from somewhere.

You might also try adding a cereal = 65 prior to MainMenu; if you get an "A", then you'll know the serial input is getting nothing in the loop. If you don't... then something is changing the value...