Not sure if "DRAW TO FRONT" is what you want there, if you are going to use sprites. I don't see any sprites in your code, but if you did use some sprites, there are commands DRAW SPRITES FIRST and DRAW SPRITES LAST as well.
You would be much better off using a .png file that already has transparency, instead of a .jpg with black areas. JPEG compression can change the colors in your image, so it might be making the black something besides 0,0,0.
So, a very basic demo of a sprite overlaid on a 3D environment...
ink rgb(255,0,0)
box 10,10,118,118
set image colorkey 0,0,0
get image 1,0,0,128,128
make object cube 1,10
sprite 1,screen width()/2,screen height()/2,1
do
turn object right 1,.01
loop
As you can see, you don't have to use "DRAW TO FRONT" for this at all.
A version that uses a pasted image works the same way, no "DRAW TO FRONT", just pasting the image inside the loop.
ink rgb(255,0,0)
box 10,10,118,118
set image colorkey 0,0,0
get image 1,0,0,128,128
make object cube 1,10
do
paste image 1, screen width()/2,screen height()/2,1
turn object right 1,.01
loop
If you want to attach your image, I would be happy to turn it into a .png with alpha channel, assuming you don't have that capability.
EDIT: In the above two examples, you don't actually need the SET IMAGE COLORKY statement, since DBP defaults to 0,0,0 as transparent in sprites and images pasted with transparency. Which is one reason why the .png format is better - what if your HUD graphic has some black pixels that you want to display?