Hola,
hice una pequeña prueba con Power y con IntPower (Delphi 6) y sí que me dio los resultados esperados. No sé cual es la diferencia pero por si te sirve de algo ahí va:
procedure TForm1.BitBtn1Click(Sender: TObject);
varr: real;
beginr:=(Power(StrToFloat(maskedit1.Text),StrToFloat(maskedit2.text)));
MaskEdit3.Text:=FloatToStr(r);
end;
procedure TForm1.BitBtn2Click(Sender: TObject);
varr: real;
beginr:=(intPower(StrToInt(maskedit4.Text),StrToInt(maskedit5.text)));
MaskEdit6.Text:=FloatToStr(r);
end;
Tanto el valor que me aparecia en el MaskEdit como el que tenía la var r al hacer un breakp era el esperado para los ejemplos Power(10,4) o IntPower(10,4)
¿No estará el problema en los parametros que envias a la función?
De todos modos si te sigue dando problemas puedes crear tu propia función power repitiendo la multiplicación en un for.
Saludos.