I think where you're going wrong may be in WAIK. If you look at the section of your unattend file where you're setting the local admin password (Windows Shell Setup I think), you'll notice that when you click on the attribute for administrator password, on the upper right pane there's a setting called 'plain text' which is set to 'false' by default. The function of this setting is to take whatever value you enter into the password attribute and scramble it.
The effect of this on your %localadminpass% variable is that it gets turned into something like this 'kugaadsffiysaffklgsdd8oy634'! Therefore, when the Provisioning agent injects your unattend file it doesn't see the value as a variable and just leaves it as it is. Then, during mini setup, the password is de-scrambled back to %localadminpass% and that literally becomes your password.
The plain text setting cannot be changed by clicking on it - its a global setting in WAIK. To turn it off you have to click on 'Tools' in the top menu and then de-select 'Hide Sensitive Data'. You may then have to retype your variable in the admin password field and save. Once done you should see that 'plain text' has changed to 'true'. Save your xml file and re-inject into provisioning. Hopefully that'll get things moving!
Hope this helps.
Thanks, that was the problem.
Originally my .XML file was fine, but I brought it into the SIM part of WAIK and it decided it would be a good idea to change things to hide that sensitive data.
-I fixed it per your instructions, re-ran it with no problem.