Интересно вот что ... когда использовал вот такую конструкцию, то процес, как говориться, пошел ...
SELECT *,(RAND()*100) AS rnd
FROM `table`
WHERE col >0 AND
TYPE =1 AND
idsquare!=2
ORDER BY rnd
LIMIT 1
В итоге выборка пошла случайно. Если убрать из SELECT где мы выбираем (RAND()*100) AS rnd то снова получаем один и тот же порядок, точнее запись будет выпадать одна и та же ...
Хотя заметил, что псевдослучайность тут тоже не ахти какая. Очень часто выпадает первая запись, даже чаще чем другие.
Так что вопрос о выборке из базы случайно остается открытым.