I did some small and medium business migrations towards FOSS software and I can attest that it's not easy.
Key factors I've encountered are: users have a bad predisposition, they always prefer windows because they (think they) know it, they have it in their home computer, notebook and phone, and they don't want to make the effort to learn another system; there are custom developed apps that not always are easy or at least economically feasible to migrate; there are software that are probably easy to migrate but you lost support if your server is not windows, and you are setting yourself in a position where you will be blamed by any problem a computer could ever have, related or not to FOSS.
In my experience trying to perform a 100% migration is not very easy not desirable: except in very restricted environments, every non trivial system will always be made up of heterogeneous OSes and apps. Because of smartphones, laptops and embedded systems, that mixture is pretty much guaranteed these days. So it's better to move early the back systems: replace mail servers, file servers, databases, printservers, backup systems, http and ftp servers, LDAP, routers, firewalls... and make sure they work and are appropriately configured.
Then deploy OOorg to _windows_ WS, perhaps with Firefox and Thunderbird (I always though that the Thunderbird developers would be looking at Pegasus Mail, sadly they weren't). That way your users will be familiar with the apps and then changing the "desktop" will be more easy. Change the users WS OS progressively, change first the WS of the more "advanced" users and try your best to show the deployment of the "new" system as a privilege; if you can, change the OS and put a new WS for it, or at least a new or bigger monitor.
Important factors in success and collaborative users is to provide them with compatibility: you're migrating, the rest of the world no. So you have to make sure your users can communicate with the external world: not only OOorg has to open xls and doc files; they _need_ to chat in the msn network, watch videos on youtube, and so on. Those are as much as important as to be able to do the work if you want your users supporting you.
Be careful choosing a X environment: the popularity of Ubuntu these days hides the fact that it can be obnoxious and overcomplicated for end users. A smaller, lighter and more orthogonal desktop environment (like XFCE) could be better.
Don't try for the new environment to mimic "look and feel" of windows: it's far more irritating to encounter subtle and minimal differences in behavior that to face a complete different approach. Most users spend 90% of they time in two or three apps (mail, office suite, some custom or enterprise app) and they simply don't care about anything else.
Your ultimate goal is to be asked to install "linux" on their home boxes or laptops. That will happen when they feel comfortable and familiar with the new system.