If you want the best GPU for your rig, the 8800 GTX is the way to go. I personally think investing in the ATI's R600 product is not worth it unless you were looking at Nvidia's 8800 GTS 640MB, in which case the R600 (HD 2900XT) may be a nice alternative.
A single 8800GTX card packs a lot of power and should run UE3 games really well but it does indeed depend on how high you have your resolution. The more pixels that need to be processed, the less performance you will get. For the average gamer, its usually 1280 x 1024 in which case the 8800 GTX will be more than enough. As for Crysis, it should deffinetly run it pretty damn well if Crytek have tweaked the Cry Engine 2 nicely. Buy in confidence, should last you a good couple of years. I wouldnt bother investing in the 8800 Ultra when it arrives, far too overpriced for what it offers over the GTX. If you need the best card now, go 8800 GTX. If you don't need it now and would rather hold on till a game comes out where you will need a new card, wait to see what's the best available then. I have a feeling that the next couple of months wont see a GeForce 9 series or anything though. Probably won't be till October - November.
As for the 8800 GTS 320MB, great card but the memory lets it down. As games are using greater texture detail, I''d say you really want 512 MB at least.
Hope this helped