I don't see why using 'or' or 'in' would be slower, unless there's something about MySQL in particular I don't know about (which is entirely possible). It should be quicker since there's only one call to the database instead of many, and it should still be able to take advantage of any existing indexes.
Comment on Re: Re: Deleting Multiple MySQL Rows With DBI
In general DB servers aren't good at optomizing "in" or "or" queries.
The server may end up doing a table scan to locate all the items to delete,
which could be really slow.
By doing each ID individualy you're guaranteed that each
one will go directly to that item (assuming there's an index
on the ID col) and delete it. True you are executing more statments, but
I suspect that in many situations it could be quicker than the
poorly optomized "in" statment.