myping:=TIdIcmpClient.Create(myping); ??? создаем объект на объекте которого еще не создавали, может так поробуешь, по моему более корректно
myping:=TIdIcmpClient.Create(Self); // для exeшника
для dll возможно одно из ниже пересчиленного:
myping:=TIdIcmpClient.Create(getmodulehandle(nil));
myping:=TIdIcmpClient.Create(hinstance);
myping:=TIdIcmpClient.Create(0);
myping:=TIdIcmpClient.Create(nil);
кажется так... если что получится свисти, очччень интересно.