There can be many limitations to upgrading, depending on what upgrade you are referring to. You cannot upgrade from Windows XP to Windows 7, as a clean install is required. You cannot upgrade from x86 to x64 either, etc...
For your situation, the Microsoft Deployment Toolkit would be a good fit. MDT is a complete deployment solution (for free) and is compatible with Windows XP, Vista, 7, Server 2003, 2008, 2008R2 and now Windows 8 and Server 2012. MDT acts as a common console that combines all deployment tasks into an easy to use interface. You can either customize a system, then sysprep and capture it for deployment or use a base image and have MDT manage drivers and install applications for you. If you have WDS or SCCM, MDT images can be used with both of those products as well. You can deploy over the network, or from a DVD or USB drive. To introduce you to MDT, these two videos show you the flexibility that MDT can offer: Deployment Day Session 1: Introduction to MDT 2012
Deployment Day Session 2: MDT 2012 Advanced
More articles and videos about deployment can be found on the Deliver and Deploy Windows 7 page of the Springboard Series on TechNet.