l'ho letto sulla guida alla sicurezza in php di php.html.it:
http://php.html.it/guide/lezione/298...sql-injection/

Dice questo:
Nota: mysql_escape_string() non aggiunge le sequenze di escape a " % " ed a " _ ".

Tale funzione (come addslashes) non fa l'escape di tutti i caratteri potenzialmente pericolosi, quali " % ", usati nelle query con LIKE, " ; " e " , ". Per questi è necessario uno str_replace "manuale".
E' una preoccupazione eccessiva?