Use the blurry photo technique, and consider using a progress bar in certain circumstances because blurry images are indeterminite progress indicators.
Spinners are useful for actions that complete quickly to give an indication that something is happening. When actions are going to take more than a second, you should provide an indication of progress. Progressively loading images (blurry -> crisp) does that, however, they don't indicate when the image is fully loaded. For example, if the final image is not high resolution, or is intentionally blurry (a common technique), the end user might not know that the image is fully loaded.
Not all implementations of progressive image loading are made equal.
According to this article, Facebook uses a technique to quickly load blurry images for profile cover photos that are representational of the final image. This is great because on slow connections, users still have an idea of what the image will be once it's loaded. The article describes how you can achieve the same thing.
Medium also uses the blurry images technique for loading images in blog posts, though their implementation seems less usefulness than Facebook's. Imagine that you're on a slow network, or your connection gets interrupted: how useful is seeing a non-representational blurry image?
Augmenting blurry images with progress bars
Flickr also uses the blurred photo technique, however you can see in the image below that they also use a progress bar to indicate how much of the image is loaded:
This addresses the original issue of not knowing when an image is fully loaded. On slow connections, this can really help.
I'm not suggesting using progress bars on each image when loading a series of images (like on the home page, or in blog posts), but when loading an individual image it can improve the user experience. I expect a common use case on your client's site is that visitors want to be able to load a higher resolution version of pictures by clicking on them. In this case, including a progress indicator helps let the user know how far along the loading of the image is.