Look at the news coming from Australia, there seems to be some serious thinking if HSBC should change their 200.000 Blackberries over to iPhone. I don't have an opinion whether that would be smart move or not, but I must say that the idea of changing company's all devices (in this scale) is a bold and beautiful.
A weak CIO would handle this process in a different way, "trying to avoid mistakes". He would have a limited pilot group using new terminals for a while. Of course that requires that servers and services are tuned to support new terminals. Because that was difficult with old hardware, new server installations had to take place. Then support process and help desk must be taught to handle requests coming from pilot group and so on. Time passes by and pilot group thinks new devices are "nice" and they don't want to go back to old devices. Because pilot project didn't show "significant cost savings", decision is made to keep the old devices for a while and start a new pilot with new devices. Repeat this a couple of times and you will get a big mess.
When a company doesn't have a clear strategy covering the mobile solutions, it can lead to a situation where nobody controls which mobile devices are used. Nobody expects that staff could choose their own office furniture, desktop computing environment or some other equipment that is there just to enable the core business. For some reason mobile devices are an exception and often companies can have almost every kind of terminals used in everyday business. This puts an extra burden to support people, necessitates middleware servers between various phones and back-end services and makes dedicated mobile applications look non-economical because they must be implemented to many different platforms.
All this reminds me of an very old project where I used to work. Project had a requirement that relational database engine can be changed at any time. This meant in practice that all the work of RDB must be implemented at the application layer, because otherwise implementation hasn't been database independent. So, lots of work was put to implementing database functionality and the database itself was only a replacement for a flat file. As you might guess, database was never changed - in fact it wasn't ever even discussed. If somebody had been bold enough to stand up and say that project is doing stupid things, all the effort wasted on duplicating database functionality could have been allocated to making the solution better to end users.
This experience often comes to my mind when I see companies struggling with different devices, mobile middleware, frustrated users and so on. Free advice to CIOs: pick a (reasonably good) mobile device that matches with your requirements and give that to everybody. Then you can simplify the environment and new mobile solution projects become possible, because there is not a myriad of devices to support.