Hi,
Mavericks uses a new caching system for plist files. I believe that when you use the Killall Finder command, the OS believes finder has crashed and replaces the finder plist file from the one it has in it's cache rather than reading the com.apple.finder.plist file. My tests showed that the defaults command (above) is writing the needed entry to the plist, but the Killall command is causing the plist file to revent back to the previous version (I assume from cache).
Initally I solved this by rebooting after the the defaults command (no killall). This seems to sync the cached version with the real file. Next I tried to see if there is a way to sync the cache without the reboot. The process that controls this is "cfprefsd". There are two instances of it running on Mavericks, one as user and one as root. If I used a Killall on this processes then it auto-restarts and seems to repopulate the cache from the file.
So... The following gets the job done most of the time:
defaults write com.apple.finder AppleShowAllFiles 1 && killall cfprefsd
I say most of the time simply because sometimes the the plist still manages to revert back. I'm pretty sure this could happen with the reboot method as well.