Edit: using Allegro 5.0.7. I would try a newer version but I would need a precompiled binary for MingW-TDM 4.6.1 
I have been doing more work on my Deluxe Pacman 2 level editor and I decided to code it so it loads in the same config file the main game uses. This way you can edit your levels in fullscreen mode etc as you prefer.
Anyhow, I use ALLEGRO_FULLSCREEN_WINDOW and transforms/clipping to scale the screen size up with a black border.
I just realized today that when my editor uses the same function to scale the screen up, that although the drawing is clipped, the mouse isn't. This has led my mouse code to not work, I have to click off to the left of where the buttons really are on screen to get them to work.
I can add code to adjust the mouse position if full screen, but... you never know what the resolution is that the person will be using. I am wondering if you have considered adding in mouse clipping in the same way there is screen clipping? I can move the mouse pointer into the black areas which looks a bit odd when the images displayed are clipped. I'm not entirely certain how to safe go about programming the mouse code for my buttons. It currently checks the region the buttons were drawn in, but the mouse doesn't match the drawing co-ordinates and as I said, you never know what the resolution will be that the person will run this on. 
Any ideas, suggestion are welcome, thanks.
This isn't too important, but just so you know, I use the following code to fit my screen to the fullscreen mode mentioned;
You need to apply the inverse transformation to the mouse coordinates. For example:
https://bitbucket.org/leverton/tsb-nes-helmet-editor/src/23c42e735f14/src/gfx.c#cl-103
https://bitbucket.org/leverton/tsb-nes-helmet-editor/src/23c42e735f14/src/gfx.c#cl-311
This is the important bit:
Very nice, thanks for that. I was sitting on the can thinking about how to do this,
... great place to think the bathroom is and was thinking along these lines but still wasn't 100% certain how I was going to go about it.
while (status != 666)
EVIL!!!
I wouldn't learn too much from the code. I wrote it in 8-bit Allegro 4 and converted it to Allegro 5.
I like looking over how other people do things, there's always something I can learn.