Visto che nemmeno fornisce sufficienti garanzie, ritengo anche io che l'utilizzo di add_slashes() deve essere evitato; inoltre la tendenza generale è quella di cercare di utilizzare del codice non obsoleto, prima o poi dovranno aggiornare PHP anche sul tuo server e nella creazione di un'applicazione è bene considerarne anche la futura compatibilità.

Secondo me dipende tutto dall'utilizzo che ne fai nel tuo codice delle variabili $GET/$POST, e soprattutto dal tipo di valore che ti aspetti di riceverne.
nel caso di un intero $id = (int)$GET['id'];
nel caso delle stringhe, ma è una indicazione fin troppo generale, una bella passata di html_entities ti mette spesso al sicuro da spiacevoli sorprese oltre ad assicurare un corretto encoding di apici e caratteri speciali.

sempre per le stringhe ancora diverso è il discorso se le variabili sono passate per effettuare una queri su un database, nel qual caso bisogna utilizzare particolare accortezza per farlo in modo sicuro. nel caso di Mysql, direi che usare mysql_real_escape_string() sulle variabili prima di utilizzarle in qualunque operazione (lettura, scrittura, update e delete) è una buona pratica.

Su un argomento così cruciale eppur trascurato da tanti è sempre gradito da parte mia un confronto con gli altri utenti.