Hello Neil,
After a quick test on KITMMA9555LEVM demokit, I've no issue to program the INT_O sensor pin as "Command completed" Interrupt line.
Here is the communication between host MCU and MMA9555L as well as INT_O signal.
WRITE TRANSACTION :: Starting MB = 00
Write : 12 20 06 01 00 // disable sleep mode (STOPNC) in Sleep-Wake Application

WRITE TRANSACTION :: Starting MB = 00
Write : 18 20 00 01 80 // enable INT_O (to flag command completed) in Mailbox Application
Once this command is completed (takes about 185µs), INT_O is asserted and will stay so till next transaction on MMA9555 slave interface

WRITE TRANSACTION :: Starting MB = 00
Write : 1A 30 00 01 // query SixDir Status register in 6-axis Application
This command immediately clears INT_O line. Then after command is completed and results made available in the mailboxes, INT_O is asserted (goes high) so the host MCU knows data is ready and can be read
READ TRANSACTION :: Starting MB = 00, No. bytes to read = 5
Read : 1A 80 01 01 06 // board sits horizontal on the table => orientation = +Z
This clears the INT_O line again.
Please provide communication log so we can check the traffic between your MCU and sensor.
Regards, Jacques.