I'm using the GTT70A screen and I can send the calibrate touch screen command, the screen goes into the calibration phase asking me to touch the screen in various places, first bottom left, then top middle, then bottom right, then top right. As I press into the top right I get a message of 'Calibration Error' in the centre of the screen. I've tried deleting the touch calibration file in the system folder and I get the same repsonse. I get exactly the same scenario using the GTT50A.

It sounds that you are doing calibration correctly, I apologize for the troubles you are having.
Have you ever had successful touch calibration with these displays before?
Are you using GTT Support Tool in sending the calibrate command?

Also, if I may please get the serial numbers on your GTT's (they can be found on the back of the board, black text on clear sticker).

These are the first two displays that I've used.
The several different serials in various places on both boards, none of which I'd describe as black text on a clear sticker, so I'll just list them in all in most likeliness...

The serial numbers I was looking for are the '14M07-5601' and '14M07-5602'.
You should have the latest firmware on your GTT's.
I have tried both GTT70A and GTT50A with the same firmware as yours and I did not have troubles calibrating them.

If you please re-try calibration, making sure that you are carefully touching only the (center of the) boxes as displayed?
If you are not already using GTT Support Tool, please do so.

Also, if you please check that the connection of the display to the board via the FFC connector is in tact (I do not suggest though that you undo the connection, only check if the cable is inserted).
If you please also check the orange flex cable at the front bottom right of the display, please check that this cable is not nicked or cut.

Yes, I was using the support tool to send the calibration command. Several other people have also tried to calibrate the screens with the same result.
All of the cables are in good condition with good, solid connections.

You mention to touch only in the centre of the box(es), we tried our best to do this and believe we are doing so ( *EDIT: the boxes are surprisingly small ), however we were using our index finger so I guess there could have been a remote chance that a 'touch' could be registered outside the box, so we tried using an appropriate touch screen stylus which unfortunately gives us the same result. Its rather strange that both screens are doing the exact same thing.

On a side note...
Do you know if a c++ library is available? It's not a problem as I can make my own headers and classes using the protocol manual for reference.
Also, I'd like to use the display as an interactive display that will display live data: as messages ( continuous streaming updates ) while also updating 'preloaded' images and also receive user touch response data from multiple threads ( I will use appropriate thread synchronisation methods ). Will this device be appropriate for this?

I do understand the small size of the boxes, we actually increased their dimensions for the GTT50 and GTT70 due to the higher screen resolutions. I can also confirm that a stylus is often used during testing at our facility to provide increased accuracy during calibration. Finally, while calibrating, please lay the unit on a flat surface and ensure that there is no pressure at any other location on the screen.

Touch responses may be generated even if the screen is not calibrated. In GTT Project, please try to change the Touch Reporting Style to 15. With the Debug View window open, if touches appear in the read column, the touch panel is at least functional.

Finally, you might check the ability to write to the SD card. You can do this by issuing a Raw Decimal command in GTT Project with the values 254 52 1 1. If successful, this should create a userdata.dat file in the SYSTEM directory.

Unfortunately, a C++ library for the GTT series is not available at this time. The underlying structure of the current library relies heavily upon C# functions, which makes conversion non-trivial. I would recommend using the protocol manual for reference.

The GTT is designed primarily as an interface, rather than a display, so complex real-time updates may be difficult. However, features such as preloaded images, labels, and even scripted buttons will aid your application.

Thankyou for your input. I've managed to get it calibrated now using a combination of things, unfortunately I'm not sure which of them resolved this issue, but never the less, I got a 'Calibrated' message so all is good.