I'll start by admitting the best solution may be the one already in place. If you don't want Windows to statically assign unchanging drive letters to each and every device it may touch over the course of its lifetime until all letters of the alphabet are exhausted (when you have, and you plug in one more, the operating system doesn't alert you to this fact, it just doesn't work) you need those drive letters to be dynamically allocated. VBox presumably understands dynamic drive letter allocation, but apparently some of us may not always remove and detach our numerous devices in an identical order each and every time, which can cause, well...the drive numbers to be dynamically allocated.
And this may be my own fault, for wanting to run VMs on separate spindles (or devices in the SSD world - I don't yet know the best phraseology to describe the practice of moving heavy read/write operations to independent non-magnetic media). So when my drive letters change, understandably, VBox can't find its disks. But when I manually reassign the virtual disk to a specific VM, it seems rather arrogant of VBox to disallow it, citing differing UUIDs. Yes there's an obtusely elegant solution (simple in how it works, arduous in its execution - actually, I may move the binary to C:/Windows now that I'm thinking about it) but it sometimes doesn't update its XML file, which is what passes judgement upon me.
Vbox arguing with me about every drive on every VM every single time I remove and add a device or reboot notwithstanding, I'm really looking forward to VMWare ESX putting driver hooks into my desktop graphics. That is, undoubtedly, where all this is headed. True cloud gaming. I can't wait.