I completely agree that this test case is unreasonable! :-) I was trying to find something that would put the QCX into the state where it becomes unresponsive to any CAT command and required a re-boot to fix.
I believe it’s okay to keep smaller buffers and to respond with a ? anytime things get overwhelming. The problem comes when the QCX gets in a state where it stops responding to any CAT command. Based on your description, to looks like the end of an ‘FA’ command is probably overwritten in the circular buffer and the software continues to parse the CAT input stream looking for the missing digits and a semi-colon. And, in the process, ignoring everything else.
I started this testing after finding my QCX wouldn’t work properly with the two logging programs I normally use: N1MM+ and Log4OM. I used a serial-port monitor with these programs to see how they interact with the QCX.
I usually have the polling interval set to 500-msec for the QCX. Every polling period (every ½ second) N1MM+ sends the string “IF;FA;FB;AG0;” as a single write operation to the QSX. While Log4OM sends three separate commands as separate write operations: “FA;”, “FB;”, and “IF;”. They are basically doing the same thing, but the timing will be different. Log4OM requests will be more spaced out because it waits for one command to complete before issuing the next serial port write. This is the normal background chatter between the programs. Of course, anything you do on the logger could send additional CAT commands. Like toggling a digit on the VFO display.
Running the QCX receiver in the evening with the band open and the CW decoder active, I found the Log4OM logging program would report the QCX “offline” within a few minutes of operation. Requiring a restart of the QCX. N1MM+, on the other hand would run for a long time and probably not report the port as “unconnected” unless I was entering VFO frequencies from N1MM+. Once the port is reported "unconnected" a restart of the QCX is required.
okay to get overwhelmed and not respond to one command or (preferably) to respond with a ?. But not okay to get confused and stop responding to any CAT command no matter how slowly sent.