I believe this is because the headers sent with your image do not say anything about caching it. By this I mean that your image url is:
http://motocross.es/ajax/shop.ajax.original_pic.php?file=ref_44_1szyh6a9s5mh3ixc.jpg
... serves for an image with these headers:
HTTP/1.1 200 OK Date: Sat, 16 Mar 2013 10:00:13 GMT Server: Apache/2.2.21 (FreeBSD) mod_ssl/2.2.21 OpenSSL/0.9.8q DAV/2 mod_fastcgi/2.4.6 Content-Length: 79741 Keep-Alive: timeout=3, max=1000 Connection: Keep-Alive Content-Type:
Which does not say how the image should be cached. Compare this, for example, with the main, smaller image on the main page:
http://motocross.es/upload/shop/vendedores/44/productos/standard/cropped_ref_44_1szyh6a9s5mh3ixc.jpg
... where the headers look like this:
HTTP/1.1 200 OK Date: Sat, 16 Mar 2013 10:00:42 GMT Server: Apache/2.2.21 (FreeBSD) mod_ssl/2.2.21 OpenSSL/0.9.8q DAV/2 mod_fastcgi/2.4.6 Last-Modified: Fri, 08 Mar 2013 03:04:33 GMT ETag: "2726d07-d1c9-4d761151f1240" Accept-Ranges: bytes Content-Length: 53705 Cache-Control: max-age=1296000, public, must-revalidate Keep-Alive: timeout=3, max=1000 Connection: Keep-Alive Content-Type: image/jpeg
See additional caching instructions? There is a Cache-Control header there, which is probably an important bit, as well as other caching information such as ETag. There is also a Content-Type , which may be relevant, as the browser caching strategy may be related to the type of content in the absence of other hints.
You yourself send the image from the server when the URL:
http://motocross.es/ajax/shop.ajax.original_pic.php?file=ref_44_1szyh6a9s5mh3ixc.jpg
... gets hit? that is, the server is ending your code? If so, try adding the appropriate Cache-Control and Content-Type header. If you manage the server, it largely depends on how your images are cached by the browser.