So ein Bild hat 2 Header, einer mit den "Bildinformationen" und einer mit den "Dateiinformationen" und dann noch
die reinen Bilddaten. Mit nur den Bilddaten machste Dir das Leben unnötig schwer, da Du die fehlenden Informationen
voranstellen mußt, damit CatchImage wieder funktioniert.
Auch per API benötigst Du mindestens einen gefüllten BITMAPINFOHEADER, siehe hier:
CreateDIBitmap