When I say that the files are 16k in size, I mean that they appear to be 16k on the filesystem. Interestingly, the Eye-Fi Manager also seems to write to them only in 16k chunks. It never writes partial bits of the files. Also, it's good to note that you need to do synchronous file i/o to the files when doing things to them.
Operating systems cache access to files so that if you write to them twice in quick succession, it sometimes only makes one write to the actual disk. It can take seconds or minutes for a filesystem operation to get out to the disk. The Eye-Fi manager ensures that it does synchronous i/o by using some fcntl() calls on OSX. I'm not sure what it does in Windows. I'm using fsync() on the file descriptors in Linux to get the same effect.