The mosfet's gate is connected directly to the two outputs (through diodes) without a resistor.
I assume you have the diode cathodes connected to the gate, so that the mosfet is on when either output is high. You need a pulldown resistor (1K to 10K) between the diode cathodes and ground as well, to pull the gate down to ground when both outputs are low. Also a resistor (100 to 220 ohms) in series with the gate is highly recommended.
I have been using the same battery for a while and I'm wondering, could a low battery cause timing errors or system crashes when something like a motor turns on and off?
Yes. The motor takes a high current when is turning on, and this will drag the battery voltage down, more so when it is running low.
would adding a cap between 9V and ground (on the breadboard) help? ... The biggest caps I have are 470uf, 25v (my battery is only 9v)
You should use a cap between 9v and ground anyway, value needed depends on the motor but 470uF may be on the low side. Connect the negative side as close to the mosfet source pin as possible.