With serial, my program works the way I want it; without serial, it doesn't

Grumpy_Mike:
The magic word motor implies that there is some interference getting into the circuit that is grounded when it is connected to the ground of your computer.
Try adding more decoupling:-
De-coupling

I got the gist of decoupling. So basically, there's some instability going from my battery to my motor controller to my microcontroller. In that case, where do you recommend applying capacitors?

justone:
Just curious in which arduino board you are using (revision # ) ?

I am using the Ethernet Pro microcontroller. (it's basically the Arduino Uno)

skyjumper:
Perhaps the serial cable is providing a ground path that is needed but absent without it?

Ah! That could very well be the probably. The Vcc source powering the buttons is from an ELVIS board since I've just been doing a lot of testing, but I've yet to try grounding the buttons with a common ground. I'm going to see what happens if EVERY component in my system has a common ground. What circuit reasoning can explain this?