There's several cases that you'll get an error here as there's several cases that are handled that COMXImageFIle won't know what to do with.  The obvious one is music embedded art.  HasExtension should fail there I think.

Maybe only log errors if the read/reencode fail?