Might I ask, in your original image, (the now blue), did it used to be black, with and RGB value of 0, 0, 0? If so, here is a little explination.
When you load images that don't have an alpha channel (transparency) built into them, DarkGDK treats one color as something known as a color key.
What happens is that this color key (the default is RGB 0, 0, 0, a.k.a pure black) then becomes transparent when loading images.
This is because in the older days of creating games, they understood the concept of transparency, but the images they had didn't have an alpha channel. So game creator designated a certain RGB value to become the transparent color (a common one was RGB (255, 0, 255) a.k.a. pink).
But now because of new and better file formats, they have built in alpha channel support (like PNG, seriously, try it).
And you may ask "Why is that blue appearing in there?" Well, you see, DarkGDK loads all images into the 3D plain, and in DirectX (I think it is DirectX, if not, someone please correct me), by default, the background color is blue.
Of course, you can change this and get it black if you want.
All you need need to do is add this code to your game loop:
while (LoopGDK()) {
dbCLS(); // This function clears the screen, a.k.a gets rid of the blue
dbSprite(1, 0, 0, 1); // Paste the background image
dbSync(); // Necessary for syncing code
}
You might also want to get rid of that "dbDisableEscapeKey()", and that if statement in the game loop.
http://ref.darkgdk.us/ <- Online DarkGDK Refernece. More content coming soon.