Yall aren't looking at it from a software developer's mind....
4.0x just came out less than 3 months ago. Would you rather....
1) Put it on your flagship devices as fast as possible and watch the consumers moan and cry about stability and performance
2) Wait until the bugs are ironed out and give the consumers a stable version of ICS
There's SO many things still needing fixed in ICS right now. I catch bugs or performance issues all the time on my nexus. Why risk it on millions of devices????
Even more importantly, do people NEED ICS?
Think about it
You got a new smartphone user. First smartphone ever (or someone who switched from BB/IOS)
They bought a Razr in Nov. It's Feb. Projected rollout for ICS is...let's say May. That's less than 6 months of learning gingerbread (which they don't even know they're running. I bet big money on that!) to being forced to update OTA to ICS....where it's nothing like GB. New features to learn. New functions. New swipes. New everything.
It's going to fluster 'em. AND it might have bugs since it's so early?!?!?! You got bad word of mouth on your hands and someone ragging Android in general out to all their friends!
The company I work at...we don't release software until needed and try not overlap if it ain't broke. If X runs 1.4 perfectly, and 1.5 is different....we keep them on 1.4 and let the new folks run 1.5 until it just makes sense to run 1.5 across the board.
The general public won't know/won't care that Moto isn't bringing ICS to you ASAP. And you probably should be happy you ain't getting it until it's ready. They promised it in the future, and you'll get it. Don't worry.