il problema è che stai avvolgendo i nomi delle colonne con virgolette singole costringendo i valori decimali a confrontare i valori letterali stringa. I nomi delle colonne così come il nome delle tabelle sono identificatori e non valori letterali di stringa, quindi non dovrebbero essere racchiusi tra virgolette singole.
AND `lat` > '-1.300000'
AND `lon` BETWEEN '55.555555' AND '53.000000' -- use between here