Hi You might of found a way of doing it by now but as I couldn't find an answer anywhere else thought best place to put my answer was with your question ready for the next person looking
I have written a piece of xml code that will migrate the personal.xlsb from windows xp office 2007 to windows 7 office 2010 this way the user keeps their personal macros
<?xml version="1.0" encoding="utf-8"?>
<migration urlid="http://www.microsoft.com/migration/1.0/migxmlext/Carl Warren">
<component type="Documents" context="UserAndSystem">
<displayName>Copy Files from XP office 2007 Folder to Win7 office 2010 Folder </displayName>
<role role="Data">
<rules>
<include>
<objectSet>
<script>MigXmlHelper.GenerateUserPatterns ("File","%USERPROFILE%\Application Data\Microsoft\Excel\XLSTART\* [*]","TRUE")</script>
</objectSet>
</include>
<locationModify script="MigXmlHelper.Move ('%CSIDL_PPROFILE%\AppData\Roaming\Microsoft\Excel\XLSTART\')">
<objectSet>
<script>MigXmlHelper.GenerateDrivePatterns ("* [*]","Fixed")</script>
</objectSet>
</locationModify>
</rules>
</role>
</component>
</migration>
It works a treat just save as an extra usmt config file (ie macro.xml) and add to scanstate and loadstate with /i option
Thanks
Carl