È perché il campo della data su cui stai interrogando è una stringa archiviata e non un Date(). Nei tuoi documenti mongo invece di una stringa di data personalizzata, inserisci gli oggetti data javascript nel campo della data.
come
{ deviceID: 186,,"date": new Date(2012, 7, 14) }
e quando esegui la rimozione fallo come
db.coll.remove({date:{$lte:new Date(2012, 7, 14)}})