I think I might have figured out the problem.
I am running Intel Core 2 Quad Q6600, 4 gig rams 6400 (Corsairs), 600 gig SATA RAID 0, 8800 GTX and Vista 64 bit. I have all the latest drivers for the hardware.
I read on the MOHA forums that EA MOHA didn't support 64 and I have a friend with similar hardware and OS running on 32 bit without any problems so I reformatted my computer and installed Vista on the 32 bit and played COD4 again for quite sometime last night. I didn't experience any crashes but I'd like to try playing for at least a couple of hours before conclusively saying it was the 64bit.
I'll keep everyone posted.