Recently I got to thinking about how certain Atomiswave games still freeze after a while and came to the conclusion that maybe data is being pushed into RAM too rapidly. With that I thought I'd try tinkering with the file system in the Ubuntu terminal.
I limited the number of usable blocks on a 16GB SanDisk SDHC so that only 3GB of storage is available -- just enough to store the whole collection of ports. Also, I reduced the cluster size of the Fat32 partition to 512Bytes instead of 32KB, in-turn forcing longer seek times for processing data - slowing the SD card performance. So far I've had NGBC running in attract mode for over 2 hours instead of the usual 20-25 minutes and it hasn't locked up yet.
This is the command I used in the Ubuntu terminal:
sudo mkdosfs -s 1 -S 512 /dev/mmcblk0p1 3221225
(mmcblk0p1 being the SD card).