From the debug.log I can see that the forwarder did not specify which IOS to use at startup:
args[2]: [0]=fat:/apps/usbloader/boot.dol [1]=not set
Should be something like:
args[2]: [0]=fat:/apps/usbloader/boot.dol [1]=ios=248
It probably doesn't support The meta.xml file. Which forwarder are you using? If it's one of these:
http://gbatemp.net/threads/official-cfg-loader-forwarder.275487/
It should support meta.xml properly.
Can you make another debug.log dump, this time starting from the HBC to see if in that case the arguments are passed correctly?
About the theme, yes you are right, it first loads Glass because it is set int config.txt and then switches to stripes, because that is set in settings.cfg.
Best is to remove the theme line from config.txt so that only settings.cfg theme will be used.
And the SD and HDD remounting happens because the IOS is being reloaded, so that is expected and if you get rid of double ios reloading, the sd and hdd reloading should not happen anymore.