Virtualisation sounds like completely the wrong solution to the problem of a software limitation like this. Even if the software isn't fixable (which would be the right solution), why can't you just run 7 instances of the server process?
Also, I don't know exactly which features of Mac server you use, but you could try Linux with Netatalk.
As far as I know, you can't.
Let me back up and give a bit of info on what we do and how it works.
We use 3 main components of the server(sort of): A virtual MDM(Mobile Device Manager), Profile Manager, and Cache.
When we buy apple products, like ipads, I access the virtual MDM server which is housed in the apple cloud. On that virtual MDM I then assign those ipads to a real MDM (my server). When an ipad is activated, it contacts apple, get's the IP address and name of the server it's assigned to, and then contacts that server to download the configuration (which I made mandatory). The benefit is that if the ipad is ever stolen, I still retain full control over it so long as it's got a wifi connection to the internet and if it's wiped, it can't be reactivated without downloading the config file from the server, which I can set to autolock the ipad. So basically, it'll make a wiped ipad useless.
The second part, Cache is your run of the mill caching service for ios software. ipad wants an app, the server downloads that app and stores it for any other iOS device that wants it.
The Profile Manager is the main workhorse service. In there we have the device deployment and the Volume Purchase Program. The device deployment is the MDM service and it requires a special security token using a public/private key setup. You get a public key, give it to apple, and they give you a private key back which you then install as your token. The VPP operates in a similar way except you log into the VPP program account (whichever account you're using at the time) and download the security token from apple then install it onto the server.
Profile manager also runs the web based profile manager interface which is where you configure settings, assign devices, etc...
So I get the ipads setup, push configurations, and assign them to users.
To push an app, I first have to buy it. So I log into the vpp apple page with the same account my server's token is set to, buy an app (even free ones) and wait. After apple approves the purchase (usually within a minute) I then wait until apple pushes the purchase data to my sever. The apps then show up on my profile manager and I assign them to users.
The app is then pushed to the ipad via itunes. It assigns the app to whatever itunes account is on the ipad and pushes it either from the cloud or my server. And because it's user based, one user can have 100 devices and only use one purchased copy of the app. (though we do make sure we buy enough for each device anyway) It also means that any itunes account that the app get's pushed to can actually install that app.
See, apple's idea is that every single idevice should have a unique itunes account, with the exception of home use and lab type setups.
So the device pushes it and everyone's happy.
Until I need to swap tokens. Once I do that, a couple things happen.
1. The app won't get updates.
2. The app may be removed after a month.
3. I can't push any more apps to the device until I change the token back.
4. AND, it doesn't keep track of who has what app so I have to reassign all the apps all over again.
And the security key is for each server, as I understand it. So if I were to have 7 instances of apple server on it, there would be 7 keys running and every single idevice would get confused as to what key they're using. And there isn't a way to say "keep checking keys until you get the right one." It's a one key to one server(not instance) type of setup.
Hence why I need multiple servers.