The easiest way to not change the background is to use a sprite but depending on if you use Classic or Pro determines if it's possible to make that sprite semi-transparent.
The following code snip has a transparent thought bubble in Pro but solid in Classic:
sync rate 0
sync on
sync
` Make a random background
for t=1 to 100
ink rgb(rnd(255),rnd(255),rnd(255)),0
x1=rnd(640):y1=rnd(480)
x2=rnd(640):y2=rnd(480)
line x1,x2,y1,y2
next t
` Load the messagebox image
load image "MessageBox.png",2,1
` Show the sprite
sprite 1,100,100,2
sync
wait key
` Remove the sprite
delete sprite 1
wait key
Edit: The graphic has both the thought bubble and the text. What you do to separate them is to change the current bitmap to 1, paste the graphic, write your text, grab the image and use that to create the sprite. Or if it's going to be scripted just add the text to the box (like I did).