I haven't called Web Services yet but it seems like the lesson here is that the first letter of the fare code does not always determine the "booking class" of the reservation.
BOOKING CODE EXCEPTIONS
VIA CX H/K PERMITTED H- FARES
VIA CX V/G PERMITTED H- FARES
VIA CX S/N PERMITTED H- FARES
VIA CX Q/O PERMITTED H- FARES
Interestingly enough, these exceptions don't show up in ExpertFlyer's fare rules.