I'd wait, if I were you. It won't be that much longer and while it might be nice to have upgraded hardware in hand right this minute, you'll be pissed as hell that you didn't wait when the new one's launched.
At this point in time (end of March), it is very ill-advised to get an iPhone. The new version is just around the corner (June/July time frame). If you can wait, please do wait.
This advise comes from the previous years events. However, this year has been odd because of the iPad. Apple hasn't announced OS 4 nor have iPhone 3,1 or iPhone 2,2 header logs appeared on the web or mobile advertising services.
I will sure to wait for iphone 3gs as iPhone 3GS advantages over iPhone 3G:
1) A faster 600MHz CPU and double the RAM at 256MB
2) Noticeably faster performance
3) Faster network speeds of HSDPA 7.2Mbps
4) 3.2 megapixel auto focus camera with VGA@30fps video recording, touch focus with subject tracking, macro mode from as close as 10 cm
Do you people complain just to complain? I mean why open the thread if you know your not going to like the question inside it? Just ignore it.
OP: I'd personally wait because I like to stretch my dollars. However, nothing wrong with the current iPhone 3GS. My question to you is this, what do you want to use most on your phone? Email, browsing, camera, etc?
If you can't wait, buy it and sell it on eBay when the new one comes out. Sometimes you'll be surprised by how much people will pay for an iPhone. You could even go so far as breaking even or at most having to pay $100 for the newer iPhone. I've done this with every iPhone and its never failed me.