Did you know that MySQL supports:

DELETE FROM t1 ORDER BY a;

?

MySQL manual says:

If the ORDER BY clause is specified, the rows are deleted in the order that is specified.

You can use stored functions and subselects there too if you like.

I should start using this feature immediately.