Hi Andrew, there is a bug in the current master for the surface detection which won't let you dive while at the surface. Try pushing it below the surface while holding down the dive input. Please let me know if you are observing something different, or if you are using the depth-control branch.
Yes, I don't use the qgc joystick setup, I go through ROS with a different configuration, similar to helicopter controls. I would like to get you the firmware file I am using and address the issues on github, but wont have access to that machine to compile it for you for a while as I am busy with work.