Für den BWINF hatte ich mal ein ähnliches Problem und hab es so gelößt:
Delphi-Quellcode:
// das Ereigniss tritt mit p% ein
if random <= (p/100) then showmessage('Ereigniss eingetreten');
Da hast du auch nicht den Aufwand, dass du für deine zufällige Zahl eine Variable brauchst und die auch noch auf odd oder nicht untersuchen musst.
Erwarte das Beste und bereite dich auf das Schlimmste vor.