Рассмотрите возможность использования libvirt . Поддержка VirtualBox является передовой (ни в одном выпуске, может даже не быть в системе контроля версий, но доступна в виде набора исправлений в списке рассылки) - но этот единственный API, доступный для C, Python и некоторых других языки, позволяющие управлять виртуальными машинами и образами, работающими в Qemu / KVM, Xen, LXC (контейнеры Linux), UML (пользовательский режим Linux), OpenVZ и др.
Я создаю и администрирую виртуальные устройства (в контексте автоматического контроля качества), используя libvirt с бэкэндом qemu / KVM, и это очень хорошо отвечает моим потребностям.
libvirt может быть настроен для разрешения удаленного доступа (например, контроль или запрос VBoxService или libvirtd из одной из виртуальных машин, что вы, похоже, хотите сделать - хотя я сомневаюсь в мудрости и полезности), с многочисленными аутентификацией и транспортом доступные варианты.
[Caveat: libvirt в основном предназначена для Unix-подобных операционных систем; он может быть построен для win32, но YMMV]