A search turned up this article. I've pasted the relevant text below.
Here's a forum post showing an example of prepared statements letting you assign a
variable value to the limit clause:
http://forums.mysql.com/read.php?98,126379,133966#msg-133966
However, I think this bug should get some attention because I can't imagine that prepared
statements within a procedure will allow for any procedure-compile-time optimizations. I
have a feeling that prepared statements are compiled and executed at the runtime of the
procedure, which probaby has a negative impact on efficiency. If the limit clause could
accept normal procedure variables (say, a procedure argument), then the database could
still perform compile-time optimizations on the rest of the query, within the procedure.
This would likely yield faster execution of the procedure. I'm no expert though.