After you load a custom recovery image, you have a new option to back up the currently running system to a file on your SD card. You can restore to this point at any time with no data loss.
You load your ROM, set it up then reboot to recovery and back it up. You can then wipe and flash anything else, but still have an easy way to get right back where you were. You can store any number of backups on the card, so you can have more than one ROM set up and choose which one to boot to by booting to recovery and restoring that backup.
You can hold the ROM in it's zip file on your SDcard, as many as you like. They are just zip files until you use them to flash to the system. I have about 15 on my sd card at any time
To run apps from the sd card:
1. Back up the entire contents of your SD card to a folder on your PC, as it's going to get wiped clean.
2. Boot to your recovery image and you can reformat the sd card. Set it up with a ext2 partition of 512mb - 1gig. You'll never need anymore than that. No need to set up a swap partition with a Hero, there's more than enough RAM. Format the rest of the card FAT32.
3. Copy the backup back to your SD card. You'll use the FAT32 partition for storage, and this is automatic.
4. When you flash the ROM it will find the ext partition and use it for /data/app and install programs to that area automatically.
5. NEVER EVER have your phone on without the SD card in. It's now a tiny hard drive that Android needs to run correctly.
I think Fresh ROM has most of the unwanted stuff stripped out. Noj here on the forums is part of the dev team, he would know all the answers.
You're welcome