Um... what exactly are you guys trying to do? I don't see why you'd need so much code to generate a dagger given a probability of 10%. Seeing as Random returns a floating point number between zero and one (0 <= Random < 1) wouldn't it be as easy as:

[pascal][background=#FFFFFF][normal=#000080][number=#C00000][string=#00C000][comment=#8080FF][reserved=#000000]
if (Random < 0.10) then begin
//give player dagger;
end;

[/pascal]

P.S. Traveler, you shouldn't call Randomize every time you call Random. It should be called only once upon the start of your program. Otherwise you're basically reseting the seed value, which will lead to uncertain calculations.