A workaround is to remove the C:\ProgramData\Amazon\EC2Launch\state\.run-once state file in your userdata script, so when ec2 reboots, it will think itself as a newly created ec2 instance and perform initialization by Amazon EC2Launch service.
The service "Amazon EC2Launch" on windows will check if this file exist at boot, if exist then it does nothing. But if not exist then it will perform the normal EC2Launch related works (e.g. run userdata, reset password, ...) and create a blank file .run-once.
this will work for you, BUT, everytime you reboot, Amazon EC2Launch will reset the Administrator's password, and you will have to retrive a new password with your key from console again, but i think its easily fixable by creating an additional user for you to use.