Wie wär es dann noch mit einer Beschränkung. Z.B. Banner X darf max n mal in einer Stunde angezeigt werden. Oder relativ zu den Seitenbesuchern. Irgendwas halt, damit Banner x nicht 100 und Banner Y nur 10 mal gezeigt wird. Vielleicht auch ein Minimum?
da würde ggf eine sortierreihenfolge bezogen auf die einbeldnungsanzahl im verhältnis zur anzahl der gesamteinblendungen aller in frage kommenden banner helfen
ORDER BY RAND() sollte zwar für eine halbwegs brauch bare gleichverteilung sorgen, aber garantiert ist das nicht - da hast du recht