There's absolutely nothing wrong with purchasing an iPhone 4 right now, since it can carry out 80% of the features it's successors can, and does not lag to a severe extent during daily usage.
People often say how it's an outdated phone, Apple will drop support for it very soon and all that. But just because it's an outdated phone, can it not perform normal functions like web browsing, calling and texting just like any other smartphones? And just because Apple may not updated it with iOS 7, does it render the phone completely useless after 2012? Of course not. With iOS 6, I believe the iPhone 4 is still perfectly capable of catering to the needs of average users in terms of daily usage. Just because the phone is 2 years older does NOT make it a stupid decision to get one. Heck, I'm still using an iPhone 3GS, a 2009 machine, and I'm doing perfectly fine with it.
There's is no rule that says you can't buy an iPhone 4 right now. If you are short of cash at the moment, there is absolutely no harm in doing so. And do not be swayed by other people's opinion of it being lackluster or an "old" phone, because at the end of the day, it's your own hard-earned money, and you will be the one using the phone, not others.