problem polega na tym, że zawijasz nazwy kolumn w pojedyncze cudzysłowy, wymuszając porównywanie wartości dziesiętnych z literałami łańcuchowymi. Nazwy kolumn oraz nazwy tabel są identyfikatorami, a nie literałami łańcuchowymi, więc nie powinny być otoczone pojedynczymi cudzysłowami.
AND `lat` > '-1.300000'
AND `lon` BETWEEN '55.555555' AND '53.000000' -- use between here