From the developer for you...
This has bothered me in my own flying too. I should have implemented it with an L:Var, or added a key binding. K:TOGGLE_FLIGHT_DIRECTOR should work, except when the Working Title GNS530 is in use as NAV/COM 1. This is a known bug with WT's custom autopilot implementation that I have mentioned to them in the past. I will bring it up again next time we are talking, which should be soon. For the sake of completeness for anyone trying to build a home cockpit setup for the King Air, here is the RPN code that is run when the autopilot disconnect button is pressed. The top is for the first press, and the bottom is for the second.
(A:AUTOPILOT MASTER, bool) if{
(>K:AP_MASTER)
(A:AUTOPILOT YAW DAMPER, Bool) if{ (>K:YAW_DAMPER_TOGGLE) }
2 (>L:BKSQ_AUTOPILOT_DISCONNECT_SOUND, bool)
}
els{
(A:AUTOPILOT FLIGHT DIRECTOR ACTIVE, Bool) if{ (>K:TOGGLE_FLIGHT_DIRECTOR) }
(A:AUTOPILOT HEADING LOCK,bool) if{ (>K:AP_HDG_HOLD) }
(A:AUTOPILOT NAV1 LOCK,bool) if{ (>K:AP_NAV1_HOLD) }
(A:AUTOPILOT APPROACH HOLD,bool) if{ (>K:AP_APR_HOLD) }
(A:AUTOPILOT ALTITUDE LOCK,bool) if{ (>K:AP_ALT_HOLD) }
(A:AUTOPILOT GLIDESLOPE HOLD,bool) if{ (>K:AP_LOC_HOLD) }
(A:AUTOPILOT FLIGHT LEVEL CHANGE,bool) if{ (>K:AP_FLIGHT_LEVEL_CHANGE_OFF) }
0 (>L:var_iasHoldMode, bool)
}