The caveat here is that MySQL will let you say "CREATE TABLE ... Type=InnoDB" even if you DO NOT have InnoDB functionality in the back end.
I tested this myself on a server running Mandrake Linux, and the behavior is what I outlined above: no error given, nothing. The user could be fooled into thinking they are running InnoDB while they are not.
I would imagine that MySQL will allow you to have FOR UPDATE on MyISAM tables, and will simply ignore it, like it does in many other statements it does not support.
Well, I test it on my local install of MySQL (3.23.58) and my shared hosting (free.fr 4.0.22). You can create InnoDB tables, but you won't get any errors and as you say you won't even notice you are not using InnoDB tables until you made an export, or using phpMyAdmin in the operation tab to check table's format. We get the same behaviour for SELECT ... FOR UPDATE. No error message is displayed but no lock is made :(