dakanji/Dayo is trying to point you to the "Reducing Startup Delays" section of the "The rEFInd Boot Manager: Using rEFInd" page at rodsbooks website.
I didn't realize that rEFInd has an ARM build and that Surface Pro 11 uses an ARM CPU. I think RefindPlus is for Intel only so you can't use that.
That log seems to show that everything is working. Can you get a log for when it doesn't work? I'd have to look at the source code to figure out what options might help. Maybe RefindPlus will have different behavior? It's logs might have more info as well. I think you can replace just the efi file.
Read the config documentation. Is there an option to change the default boot using the config file? If so, then I suppose you could create a command to do the modification.
You can google "VolumeIconUtil" . It might be able to find issues with .VolumeIcon.icns files.
I don't know Windows. Can you run gdisk in a terminal window as Administrator?
The boot restore process is doing legacy/BIOS boot restore, so its not going to affect the EFI boot settings. You have to change EFI boot settings to make it boot legacy BIOS boot by default (select the Windows startup option in Startup Disk preferences panel or hold option key at boot to enter the Startup Manager EFI app, select the Windows option, hold control key and press enter, or use the bless command). Doing any of those three will set the EFI boot nvram variable to the Boot Camp EFI program...
I'm using 10.4.11 on a PowerPC Mac but it should be the same as an Intel Mac. Here's the output when I paste the text (I removed the tabs to be safe): JoeG5:~ joevt$ echo $BASH_VERSION 2.05b.0(1)-release JoeG5:~ joevt$ testit () { > if perl -ne 'exit !(/vmlinuz|bzImage|kernel/)' <<< "$FirstCmdlineOption"; then > echo match > else > echo nomatch > fi > } JoeG5:~ joevt$ FirstCmdlineOption=vmlinuz ; testit match JoeG5:~ joevt$ FirstCmdlineOption=bzImage ; testit match JoeG5:~ joevt$ FirstCmdlineOption=kernel...