I figured this one out. I was too quick to jump to a conclusion about what VERR_SHARING_VIOLATION means. It turns out that virtualbox doesn't care about the MAC address on NAT interfaces being the same across separate boxes (and this is somewhat a fundamental requirement for vagrant to integrate with it). It was actually complaining that the IDE controller was trying to share the host DVD drive with multiple guests.
When you create a blank VM in virtualbox it prompts you to choose an ISO for the guest's DVD drive. If you impatiently click through this without choosing (I PXE booted the machine I turned into my base box) it maps the guest DVD drive to the host DVD drive, which can't be used by more than one VM at a time. If I'd used something like veewee to construct my base box I wouldn't have had a problem, but I have an existing customised PXE image which is used for both production servers and dev VMs and a cursory glance at the code made it look like significant effort to make it able to work with a netbooted machine so I opted to grab some of the cleanup scripts for my OS and just use them on a freshly installed machine.