Just a few of my personal observations...
+1 on must be unrooted ICS. Rooted, or JB, will not work. I tried.
Also, when I Odin-ed stock ICS and booted, I was stuck on the Samsung logo. I pulled the battery and booted into stock recovery (3e) and did the factory reset. This (not the dialer code) will reset your internal storage.
The general consensus I'm seeing is that GPS is easily lost when flashing a non-AT&T port to your AT&T phone (even if it's for AT&T). For instance, I flashed
GalaxyMod and this is when I lost my GPS. This isn't the dev's fault; I'm not blaming them in the slightest. It's something to do with the location services differing between carriers from what I gather.
All in all, it worked when I followed the OP exactly starting at step 1. (Imagine that...
)