It sounds like your FTDI cable is sensitive to noise. I suspect that noise on the USB cable is being fed into the Rx pin of the atmega328, and the resulting interrupts @ 115200b were overwhelming the cpu.
You didn't say whether you disconnected the DTR signal or not originally to get rid of the problem. Any noise on the DTR signal will cause the atmega to reset.
The more usual way of programming a standalone atmega328 is via ICSP. Then you don't need an FTDI cable, so you are not vulnerable to noise on DTR or RxD.
I always had the DTR cable connected. My primary target is to use the Arduino with Labview, where it DTR is needed to start/restart a VI working with Arduino and Tx/Rx is on constant use. During all of my tests I used Labview running a VI to drive the contactor.
I ran some additional trials. I replaced the FTDI connected between USB port and Aurduino with MAX232 connected between regular RS232 serial port of my PC and Arduino. I was surprised to see that without taking additional measure (resistor/ferrite bead/lower baud rate) Arduino is running smoothly even when I have everything running very close (1.5ft away) from the contactor. So, I agree with you regarding USB sensitivity.
Thanks for all your help!