pues de hecho si esta muy mal tu script...
puedes eliminar todos tus registros vencidos con una sola consulta lógica... en tu caso, estas haciendo una consulta general, ciclando, comparando, y haciendo una consulta secundaria por cada elemento...
piensa con calma... ¿acaso esta bien todo esto??
Edito: justo lo que ha dicho
darkasecas ... ;)