In some configurations the Client loads the Images from the Fortigate using different ports than Port 80 (8008 e.g)Check the HTML Sourcecode of the Error Page for such Ports and check if any FW Policies are blocking it.

You can also embed small Images as Base64 encoded in the Replacement Message HTML Sourcecode to get around that.

now I am dealing with the same problem. Only with the difference that the images are not loaded only when the client is connected from FortiClient (using SSL).On an internal LAN, it all works. The source code of the page have a strange url:

I'm getting the same as Jirka. The default page had image urls pointing to http://url.fortinet.net:8008/xxx but now I customised it, the URL is http://url.fortinet.net:8/xxx which is broken. I've tried restoring the default and still getting the :8 port which fails with a timeout. I've tried permitting these ports in the policy but no change. If I copy the :8 URL to another browser window and change to :8008 it works and I get the image I expect.