Any recommendations?
Well, there was really no reason to replace the diode. You can try an experiment. Disconnect a PWM lead from the arduino and touch it to the +12v supplying the h-bridge. Does the motor run at full speed? To add to the arduino isolation from the h-bridge, you could put diodes on the PWM lines. Also you might put some large capacitors between the arduino +5v pin and ground. The motor you are driving may well be momentarily pulling the power supply output voltage low enough to cause the arduino to reset.