Try this slight variation (untested):
Procedure SomeCalloutMrgnDialog;
Var
H1:Handle;
B1:Boolean;
MrgnCall, MrgnValue,LyrScale:Real;
MrgnValueStrng,default,request:String;
Procedure GetValues;
Begin
request:='CallOut PIO Page Unit Margin';
default:='0.0625';
MrgnCall:=DistDialog(request,default);
LyrScale:=GetLScale(ActLayer);
MrgnValue:=LyrScale*MrgnCall;
MrgnValueStrng:=Concat(MrgnValue);
End;
Procedure SetObj_Value(H1:Handle);
Begin
SetRField(H1,'Callout','Margin',MrgnValueStrng);
ResetObject(H1);
SetDSelect(H1);
End;
Begin
GetValues;
ForEachObject(SetObj_Value,(((VSEL=TRUE) & (PON='Callout'))));
DoMenuTextByName('Previous Selection',0);
End;
Run(SomeCalloutMrgnDialog);