Yesterday I finally succeded migrating my XP guest, from Parallels (.hdd) to VirtualBox (.vdi), withOUT any reinstall, repair, or manual teaking of any kind.
After 2 days of fairly intense testing, including low level software as TrueImage, Disk Managers, Defrag, MacDrive, as well as TortoiseCVS & TortoiseSVN., all apears to be OK, yet much faster, (except a small oddities, 1. XP won't boot if I enable USB 2.0 (EHCI) support, and 2. Ctrl+Left Click is not passed correctly to guest).
In general, most care should concentrate on PREPARING your guest XP, while still under Parallels, so that XP is NEUTRALized, by stripping each and every Parallels related software and virtualized hardware. One should also relax XP tie to specific IDE controlder, as per Microsoft KB (Google MergeIDE).
Please NOTE that UNINSTALLing Parallels Guest Additions, is NOT sufficient, it's only the first step. One must then disable and remove all Parallels provided Device Drivers, and finally using Device Manager, UNINSTALL any Parallels related devices (I also removed the generic KB and Mice, just prior to final shutdown).
One can then convert the acutual .hdd image into an .vdi, as follows:
1. Use Mac's Disk Utility to create a .dmg (New Image) of equal or greater size than the Guest disk.
2. Format (Erase) the .dmg using a file system which is supported by the guest O/S. I used Paragon NTFS for OS X, (I'm also aware of a free NTFS for Mac from one of Google's Developers). One may possibly also use a FAT-32.
3. MOUNT the Parallel .hdd image using Parallel Mounter.app.
4. Copy the full content of the mounted Parallels disk #1 into the .dmg disk #2.
5. Eject the copied .dmg disk.
6. Open TERMINAL an type:
/Applications/VirtualBox.app/Contents/MacOs/VBoxManage convertdd "/Your Path/Your DMG name.dmg" "/Prefered Target Path/Some Target Name.vdi"
7. Use VirtualBox Disk Manager to register the resulting .vdi and attach it to your XP.
8. In VirtualBox VM settings you most likely should DISABLE ACPI (unless you KNOW that your XP guest is using halACPI.dll, by comparing its SIZE with the hal*.dll variations, in \%windir%\SrivePackFiles\i386). As per MS, changing hal.dll is NOT supported, and is not likely to work, unlike the Migration notes on the VirtualBox web site.
9. Make sure that USB 2.0 is DISABLEd, and Start your new Guest, be ready to be taken by it's speed.