According to OPC specifications, when the Quality is Bad, the Value is undefined (with one exception which is not your case). If the server is sending values together with Bad quality, it cannot expect that in general case, OPC clients will be able to process these values.
Is there a way to access the value of a subscription update/OnDataChange when using an EasyDAClient object if the item has a bad quality variation?
The OPC Server is returning Bad Out of Service and Bad Device Failure, but is returning values (confirmed with OPC Analyzer) that are never making it to the ItemsChanged even handler. The Value appears to be null whenever the quality is non-good, regardless of whether the OPC DA Server is returning a value or not.
EasyOPC version 5.23 and 5.35 have been tested. 5.23 is currently being used in production.