So basically, you can boot to Windows when you select the Windows boot entry in the firmware, but when you try to boot Windows from GRUB, Windows gets confused and shows you that error message?
Avisadius Azazeel has pointed to a Windows-centric solution that might be worth pursuing. I have two other suggestions.
First, every EFI-based computer I know of offers its own boot manager, which you can typically access by pressing some key (usually a function key like F10 or F11) at boot time. You can then select the item to boot without changing the boot order. This isn't as convenient as picking Windows from GRUB, but it's better than changing the boot order in the full firmware setup utility and rebooting.
Second, you might have better luck with another boot program, such as rEFInd or systemd-boot. You can try rEFInd without installing it; just download the USB flash drive version, write it to a USB flash drive, and boot to the flash drive using the firmware's boot manager. You can then test rEFInd's ability to boot both Windows and Ubuntu. If rEFInd can boot Windows better than GRUB, then you might consider installing rEFInd to your hard disk. If rEFInd doesn't do better than GRUB, then you might look into activating its firmware reboot option, which causes rEFInd to reboot the computer into a NVRAM-defined boot option (the same one that it uses to boot Windows successfully for you). If successful, this would be a rather inelegant way to boot, but it would at least work. One caveat: The rEFInd USB flash drive image will work only if you've disabled Secure Boot. If Secure Boot is active, it won't boot. You can either temporarily disable Secure Boot or find another way to test it. (rEFInd does work with Secure Boot, but requires jumping through some extra hoops.) Systemd-boot would be harder to test, or to use with Ubuntu if it works, but it's conceivable it would work better than GRUB.