Buying late in the production run always has that buyer's remorse potential when the next version comes out. But if you always wait for the next great thing, you will never buy. Enjoy while you can is what i say. But if finances are tight & you don't want to suffer the hit because you are certain you will buy the new v8 version immediately, just buy a nice used M3, either an e36 or e46.
OTOH, buying cars early in the production run has the risk of bugs (like the early S54 engines from 10/01-2/02 production). Thats why i like to buy the 2nd yr of a new version... and i had a 12/01 production before i replaced it w/ a 4/02 production.