Whats why I pointed you have to have new declaration.
Just insert this code in your source file:

[pascal]type
TD3DXFill3D = procedure (out pOut: TD3DXVector4; const pTexCoord, pTexelSize: TD3DXVector3; var pData); stdcall;

function D3DXFillCubeTexture(
pCubeTexture: IDirect3DCubeTexture9;
pFunction: TD3DXFill3D;
pData: Pointer): HResult; stdcall; external d3dx9texDLL;

procedure FillCubeTexture(out pOut: TD3DXVector4; const pTexCoord, pTexelSize: TD3DXVector3; var pData); stdcall;
begin
// Do something
end;

begin
D3DXFillCubeTexture(texture, FillCubeTexture, nil);
end.
[/pascal]
It should compile and run fine (but I have not tested it, too busy right now. You'll soon will know why