Problem switching modes

I am experimenting with the use of MAVLink commands to control a quad-copter via. the telem2 port of a PixHawk. I have had success with some commands such as MAV_CMD_NAV_RETURN_TO_LAUNCH and MAV_CMD_MISSION_START. However, I do not seem to be able to change modes using the MAV_CMD_DO_SET_MODE.

I am using a mavlink_command_long_t structure to hold the commands and and am setting param1 to specify they desired mode. I believe my code to create the bag-o-bits and send it out the serial port to be working otherwise the RTL and mission start commands would not work.

Is there some sort of additional handshaking that must occur in order to use a mavlink_msg_command_long style command to change the mode?