If the Order By Rand() sorting in MySQL has frustrated you (like it has done to me), then I am very hopeful that the following will work for you. It works for me perfectly.
ORDER BY rand(" . time() . " * " . time() . ") LIMIT 1
The above was taken from a user post on the MySql site and is greatly appreciated.