Puedes probar con esto:
 
Código:
 delete from tabla
WHERE fecha < now( ) - INTERVAL 3 MONTH
  Esto te borra directamente todos los registros que tienen más de 3 meses de antigüedad.
Si lo que quieres es consultarlos, simple: 
Código:
 select * from tabla
WHERE fecha < now( ) - INTERVAL 3 MONTH
  Un saludo