I'm sorry, I'm not trying to ignore anything, I don't think I'm making myself as clear as I probably should be.
I understand the error I received is a Terminal issue. I guess what I should say then is I have two problems.
Problem 1: When the Arduino is on its own, running my aquarium and whatnot, it will run this function for a couple hours then stop, leaving the wave maker either on or off. I want it to oscillate 24/7 at a specific interval. Currently, it's every two seconds. I tried to figure out what's going on which led to problem 2.
Problem 2: when I print the values of my wave maker's state, the time it needs to switch, and millis() to the Serial, I get that error. So when I first got that error, I thought it was occurring with the Arduino, not the terminal. I'm sorry for that confusion. I'm also sorry, I don't mean to sound like I'm ignoring any advice, when I say "I don't think it's a terminal issue" I'm referring back to my first problem, when it's not printing anything to Serial. I should've made that clearer, my bad.
So I know the solution to Problem 2 at least which is use a different Terminal and run the tests again.
PeterH:
It's impossible to tell exactly what's wrong with your code since you have only posted a snippet, but that code you posted is wrong and unlikely to handle rollover correctly. This could cause your sketch to produce a large amount of output when rollover occurs, which might be what has provoked the out-of-memory problem on the PC side. You should be able to avoid the out-of-memory problem by using a more capable serial monitor such as Realterm, but you also need to correct your sketch so that it handles rollover correctly.
If you want, I can share a dropbox link to my code since I have it broken up in several tabs and it's not exactly short if you think it'll help. Otherwise, everything else seems to run fine when it stands along, this function just stops oscillating the pin after a few hours. I do see your point when it reaches the wrap around. My switchTime won't be able to handle when millis() is less than the frequency's worth from the wrap around point. My thought was that switchTime would also wrap around as an unsigned long. I.E. As millis() approached 4,294,967,295, say it hit 4,294,966,295, switchTime would then equal 4,294,967,295 + 2000(frequency). So switchTime would result in the number 1000, or is millis() the only value that will return to 0 and start over? If I'm wrong, then yes, I need to correct that. If not, the issue's elsewhere since millis() is suppose to last for ~50 days and I'm not reaching that point before it fails.
All in all, looks like I need to run my tests again with a different terminal and see what I get. Again, sorry for any confusion, I don't mean to step on anyone's toes.