This issue dates way, way back (see
BatVink's post from May 2012). It was already filed as
issue #288 and marked as low priority. Paul stated: "it is happening because the transparent image on top overwrites the back buffer alpha with the new alpha value. "
I ran into this same issue when porting a project from Objective C. I ended up hacking a fix myself by using the new Memblock commands in 1088, by setting the alpha byte of every pixel to 255 before saving the final image.
I realize this doesn't help you as you are on 1076, but I'm sharing the solution for future reference. This project of mine is currently sitting on hold until TGC release the next version of AppGameKit, which will finally allow images to be saved to the user's image library on Android and iOS--the printImage() command "kind of" does that now but not in any usable way at least on Android.
Edit: Here's the small function I created to solve this (requires 1088+). For instance, if your original 'corrupt alpha' image is assigned to myImageID, you can call:
myImageID = clearAlpha(myImageID) and it will return the modified version without any alpha.
Function clearAlpha(imgid As Integer)
// Create new memblock from passed image
workingMemblock = CreateMemblockFromImage(imgid)
// Set any alpha areas to full opacity
For i = 15 To GetMemblockSize(workingMemblock) - 1 Step 4
SetMemblockByte(workingMemblock, i, 255)
Next i
// Reassign captured image
CreateImageFromMemblock(imgid, workingMemblock)
// Clean-up
DeleteMemblock(workingMemblock)
EndFunction