Well... there is this minor issue:
"The client can't report the number of duplicates or the AUTO_INCREMENT value for the resulting row; it can't obtain them from the server, because the INSERT returns before the insert operation has been completed. If you use the C API, the mysql_info() function doesn't return anything meaningful, for the same reason."
Unless I'm much mistaken, this means that doing a delayed insert means you blindly trust that whatever you inserted can be inserted, because the database cannot tell you wether the insert will work.
In my humble opinion this makes the delayed insert about as usfull as a microsoft product. (ouch, that was harsh. and yet, somehow poetical brilliance)
And there's this:
"Note that INSERT DELAYED is slower than a normal INSERT if the table is not in use. There is also the additional overhead for the server to handle a separate thread for each table on which you use INSERT DELAYED. This means that you should only use INSERT DELAYED when you are really sure you need it!"
Why no 'update delayed'?
It's bad enough they created the insert-delayed...
Delayed operations always return 'ok', even if the actual insert fails. This may be alright for logging applications, where you don't go bankrupt if you miss a few inserts, but in a normal application you want to be know for suer wether an insert/update etc was done succesfully or wether it failed so you can give a warning/try again.
It's one of those mysql features that sounds real cool, but works out to be allmost useless. (like the fulltext index; cool but useless)
A forum, a FAQ, email notification, what else do you need?