Errors work as follows:
Errors are logged to the central logger, visible with the FieldFox GUI. Press System 7 then Service Diagnostics, then Error Log.
Errors originating from a specific client (connected program) are logged to the queue for that client. Each client has its own queue. So if you have two socket connections (not recommended), and the first one sends a bad command, the second one does NOT get a 'Header not found' error logged in its queue. Only the first one will see that error on SYST:ERR?
'Global' errors (those that occur independent of a connected client), are logged to the central logger (per #1) and to all currently connected SCPI client error queues.
SCPI socket (port 5025) and Telnet (port 5024) clients are independent and dynamic. If there is no current connection (or connections), then no error queue for that connection (or connections) exist(s), and no 'Global' errors are logged there because there is no place to log them.
However, the VXI parser always exists in FieldFox firmware even if no clients are connected to it. This is the connection typically used by Keysight I/O Libraries (unless 'socket' connection is checked). So it will always queue 'Global' errors that occur, and a client that connects via the VXI interface after the errors occur may still query out those errors.
You can bind a C# program to the C# VISA wrapper provided with Keysight I/O Libraries in order to use the VXI interface to FieldFox, if you plan to connect after the errors occur to query them out of the FieldFox.
In cases where a persistent error is occurring (like ADC Overload), currently, the error queue for the VXI parser (which receives these errors, as mentioned above) is unbounded, and will accumulate errors until instrument memory is exhausted. This occurs unless a VXI client connects and clears the VXI parser's error queue (using SYST:ERR?).