la query sintatticamente è giusta ... credo che il problema sia o nei dati del db o concettuale:
SELECT *, DATE_FORMAT(DATE_SUB(gg, INTERVAL 13 DAY),'%d-%m-%Y') as data
FROM tabella WHERE CURDATE() < date_sub (gg, interval 13 DAY);
vuol dire
dammi tutte le colonne di tabella più gg meno 13 giorni
dove la data corrente è minore di gg meno 13 giorni
è questo che vuoi?
In alternativa se hai MySQL 4.1 o superiore puoi usare DATEDIFF(now(),gg) che restituisce il numero di giorni tra oggi e gg.