I'm pretty sure that'll cap your perfect dodge to 3.
Instead, try changing the all the return statements to this
return (short)cap_value(flee2,10,300);
if( getrefine()>9 )
bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",3,5,BF_MAGIC,0;
else
bonus5 bAutoSpell,"NPC_WIDESOULDRAIN",1,5,BF_MAGIC,0;
It says if the refine is 10, then it casts level 3 (19x19)
If it isn't, then it casts level 1 (11x11)