It would have helped to know which operating system you are deploying, and whether you are an existing Ghost user or evaluating the product to see if it can meet your needs.
Also, is your application portfolio different for each build or are they a standard apps list to be used on each machine built?
Do you have a software deployment system such as SMS or Altiris NS in house ?
I personally would avoid using virtual machines for image generation, as I think this wastes time. You are going to have to test your image on each distinct piece of hardware before you release it into production, so unless you image is also going to be used in VMs, this step does not save anything.
Having worked on a single XP build that supported 20 different desktop and laptop PCs, I can tell you that the driver folders alone ran to over 1Gb of content, so if your 37+ images represent that many distinct hardware models, you may find your driver library to be quite large. My image also installed a bunch of standard applications, as well as another bunch of laptop specific drivers, so this added further to the image bulk, but most of this got cleaned up during the final stages of the build process.