Thank you for asking Miguel. I recently posted a comment on the blog post, but now that I see this forum topic, this is the better place to discuss it.
I think 'OK' should only mean one thing. It should mean that Data Streams AND Status Streams are arriving within their specified frequency. Because 'OK' has that initial condition, a shortcut to 'OK' status with either streams arrival, that the meaning of OK is polluted with a conditional. Therefore, if an application is relying on OK status to mean something, it is now the application that has to build in a check to see if 'OK' really means that Data Streams AND Status Streams have arrived, or if it was just an single initial stream that caused the status.
I've been using Status and Data Streams. I like having the distinction. I like knowing if the device is fully responsive. For instance in my device, status streams would keep posting even though the device may be disconnected from the sensor system (no data streams posting)
I think the naming 'No_data' and 'No_status' are slightly ambiguous, but I have gotten familiar as I use them. As an example of how I like to think of the different states.
Str: NG, Sta: NG = disconnected (or NG)
Str: OK, Sta: NG = No_status
Str: NG, Sta: OK = No_data
Str: OK, Sta: OK = OK (or Connected)
NG = no good