I had stupidly written the SCRIPT string to the device representing the partition instead of the whole disk.
What's the difference? I might have made the same mistake on SX210...
EDIT: Grammar
The string must be a fixed offset from the beginning of the disk, in the first sector. The partition is only part of the whole disk, starting at some offset from the beginning, after the boot sector and partition table.
On OS X, two devices appear when I insert the SD card, /dev/disk1 and /dev/disk1s1, disk1 represents the whole disk, and disk1s1 is the first partition.