It's probably easier to convert the values to minutes, do the sum and convert back, as follows in the load script...
LOAD *, (subfield(Duration,'.',1)*60) + subfield(Duration,'.',-1) as Minutes INLINE [
Load Duration, Duration Minutes*(Rand()*250) as RandomSum resident Hours;
SET base60conv = Floor(Floor(RandomSum)/60) & ' hrs ' & num(floor(RandomSum - (Floor(RandomSum/60)*60)),'00') & ' mins';
In this example you could either put the conversion back to your desired format direct in the expression or as I have set as a variable and use =$(base60conv)
EDIT: My mistake, should multiply Minutes not Duration - fixed.