Switching between VirtualBox and native boots normally would result in Windows XP deciding that reactivation is required due to the sheer number of hardware changes (e.g. chipset, graphics, audio, hdd, NIC - see this article). I have found a remedy for this (which works with my hardware setup at least).
Activate Windows natively
Create a backup copy of %WINDIR%\system32\wpa.dbl after activation.
Set the virtual network adapter's MAC address to that of your real network adapter.
You can determine your MAC address(es) under Linux by running ifconfig.
If you have multiple network cards in your computer you will have to try each in turn (see next step):
[...] It then calculates and records a number based on the first device of each type that was found during setup, [...]
Boot Windows in VirtualBox
If you set the correct MAC address Windows should not ask for reactivation. If it does:
Shut down the guest.
Temporarily mount the Windows partition and replace %WINDIR%\system32\wpa.dbl with your backup copy.
Repeat step 2. using the MAC address of your next network adapter.