OK, scotty was right. If you restore a nandroid backup, even if you just select the data partition, amon ra wipes the others.
So for example, to install ViperRez over stock ICS, I had to:
1) Restore nandroid
2) Flash viperrez rom in amon ra custom recovery
(it gives you an option during the viperrez install to reboot to bootloader if you are S-ON, but I stupidly ignored this)
3) If your ROM didn't flash a boot image for you, you need to do it through the PH98IMG.zip method. I extracted the viperrez rom zip, found the PH98IMG.zip, placed the PH98IMG.zip on the root of the sdcard, then rebooted into the stock bootloader. It asked me if I wanted to go ahead with the update, I pressed VOL UP for yes.
EDIT: Still getting bootloops when it starts to load the home screen. What do I need to do? I have the boot.img from viperrez, but don't know where to flash that.
EDIT2: Tried fastboot flash boot [ROM's boot.img filename here] ; fastboot reboot ; still bootlooping. Scotty? HELP!
EDIT3: OK, after I was about ready to give up, I did 'Clear Storage' from bootloader and I finally booted up OK. What does Clear Storage do exactly? haha
EDIT4: Well that got the phone to boot, but I don't have any of my apps data. Like, it grabbed my wallpaper but I don't have what I need to restore a titanium backup. So I still need help.