I think I have a solution to the 10.9.2 update problem.
I used some magic that rectalogic found, that was posted here :
http://blog.rectalogic.com/2008/08/virtualizing-mac-os-x-leopard-client.html
And there is more information about it here:
https://forums.macrumors.com/threads/1365439/
Basically we can use launchd to copy the boot.efi for tiamo over the boot.efi files in the two locations every time the system shuts down.
So here are the basic steps:
1. Copy tiamo's boot.efi to /usr/standalone/i386/boot.efi.tiamo
2. Create a new file called com.tiamo.macprofix.plist with the text below and save it to /Library/LaunchDaemons
3. Run 'plutil -lint /Library/LaunchDaemons/com.tiamo.macprofix.plist' to make sure you saved the file properly. This will make sure the plist file is formatted properly.
4. Run 'sudo launchctl load /Library/LaunchDaemons/com.tiamo.macprofix.plist'
5. Reboot (This may be optional since you've already loaded the daemon, but I did not test without rebooting)
6. Install 10.9.2
7. ...
8. Profit.
Enjoy.
If you need help with getting the file created, please refer to the other MacRumors thread and rectalogic's blog post linked above.
I haven't tested this extensively, but I did test it twice.
First test was a completely fresh install of 10.9.0 (10.9). I used the 10.9.2 Combo updater.
Second test was run from my main Mac Pro running 10.9.1 and I used the App Store to update.
Code:
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE plist PUBLIC "-//Apple Computer//DTD PLIST 1.0//EN"
"http://www.apple.com/DTDs/PropertyList-1.0.dtd">
<plist version="1.0">
<dict>
<key>Label</key>
<string>com.tiamo.macprofix</string>
<key>ProgramArguments</key>
<array>
<string>/bin/bash</string>
<string>-c</string>
<string>trap "cp /usr/standalone/i386/boot.efi.tiamo /usr/standalone/i386/boot.efi; chflags nouchg /System/Library/CoreServices/boot.efi; cp /usr/standalone/i386/boot.efi.tiamo /System/Library/CoreServices/boot.efi; chflags uchg /System/Library/CoreServices/boot.efi" SIGINT SIGTERM SIGHUP; sleep 999999 & wait $!</string>
</array>
<key>KeepAlive</key>
<true/>
<key>RunAtLoad</key>
<true/>
</dict>
</plist>
Please note the one big long line. It needs to be all on one line. I did not experiment with breaking it up into additional lines.
It's one long line with the following text:
<string>trap "cp /usr/standalone/i386/boot.efi.tiamo /usr/standalone/i386/boot.efi; chflags nouchg /System/Library/CoreServices/boot.efi; cp /usr/standalone/i386/boot.efi.tiamo /System/Library/CoreServices/boot.efi; chflags uchg /System/Library/CoreServices/boot.efi" SIGINT SIGTERM SIGHUP; sleep 999999 & wait $!</string>