It looks like I have a solution.
The good people at PNGout ( http://www.ardfry.com ) told me to check out https://pngquant.org/ which uses lossy compression, by dithering (aka quantizes) the image.
Looking at their site it appeared that they have different ways to test their software with links to third parties who use their software, one of them being http://www.tinyPNG.org , as you'll see in my thread above I wanted to produce the same excellent results of tinypng.
I downloaded the pngquant command line version for Windows and used CFEXECUTE to run it, it was super easy -->
<cfexecute name = "d:\pngquant.exe"
arguments = "d:\232.png --ext .png --force --speed 5"
outputFile = ""
timeout = "60">
</cfexecute>
In order for it not to create a new file but overwrite the original, I added --ext .png , otherwise you end up with two images
I noticed I could get it to run around twice as fast with -- speed 5, and still get the same amazing results, dropping 20k images down to around 5k, with no obvious drop in visual quality, if you go for -- speed 11, the fastest it can be a lot quicker, but the file sizes although still much smaller are not at their smallest.
The only argument I did have trouble with was -- skip-if-larger which is supposed to skip creation of the image if the results of the new image are actually larger than the original, however when I tried it I found that the new image would not create even though it would indeed be smaller (I've emailed them regarding this problem)
Ardfry did suggest that I then run the image through their lossless pngout to gain further on file size reduction, the tests I did with this did help, but only by around 2% or so.
This does appear to be a good clean solution, that is reasonably quick so I'll make this as the correct answer.
Thanks for your input.