What was the solution you found for the title link? As for randomization…
Randomization occurs every hour on the hour (according to the time set on the server, not necessarily the time on your clock) for every user based on IP address. As an example, lets say user A and user B both visit the site at the same time, they would both see the entries in a different random order for the remainder of the hour in which they visited. After that remainder of the hour has expired, they would both see a different random order.
There is no way to change this behavior for the widget. This is in place to support pagination of a randomized list. I know pagination does not apply to the widget, but the same code is used for the list as the widget.
Hope this helps!