1. 128 MB version is just as good, most times better than 256 because the memory will OC better.
2. Retail version usually adds software... a crappy game or three. Maybe more warranty, too.
3. Nvidia's 5700 ultra has been released and is pretty much on par with the 9600 XT.
Should you wait before buying?
You should always wait before buying until you own a game that your current video card does not play sufficiently for your needs. If you're current video card isn't doing the job for you, it's time to upgrade.
But never, ever, upgrade for something you don't own yet (like Doom3 or Half-Life 2), because you're wasting your money.
Video card prices drop all the time.
Radeon 9500 (hardmodded to PRO, o/c to 322/322)
AMD AthlonXP 2400+ (o/c to 2600+ with 143 fsb)