Sorry about top-posting, didn't know it was a nuisance. As for developing,
I wish I could but I have never spent any time coding in c, c++, etc. I am a systems guy, not a developer, so I only work with scripting languages. I would love to have the tech chops to contribute though. If I have a chance I will look through the relevant code and see if there is anything that I can do, but I suspect it will be a bit over my head.
I will definitely check out doing snapshot-revert with internal snapshots and hot plugging. With hot plugging I assume you mean to create a storage volume, put it in as a virtual 'cd drive' and mount it that way. Is that correct?