I believe the administrative overhead you refer to largely doesn't exist when you use the VM expressly for a single purpose, like openACS development. You don't have to worry about software conflict or device conflicts because little if any will be added to a base developer system. There's no security or user management because each VM is essentially a single user system (though there's no reason it couldn't be shared as a server).
Give everyone root if they want it -> the system you're duplicating and they're coding on is just a blob that sits on their hard drive. They mess it up, you send a new file their way and they're off and running. It's a good idea to keep the source code they're working on backed up or versioned outside the VM (using Samba/NFS/CVS or sneakernet) for this eventuality, but I've done this before on my last big ACS gig. It's not a big deal.
We distributed VM's to the sales team for doing onsite demos and it worked fine after we did the initial setup. I challenge you to find a less technical group to validate the VM approach. 😊