There's no direct way to see if the HRM is being used, but in a watchface on a device with WHR, you can watch getHeartRateHistory() and see if it's changing. (compare the newest "when" to to an earlier first "when" or something along those lines). You may have to try a few things on a watch with WHR to see what's happening if the WHR is disabled, as I don't recall - no new readings, no samples at all, etc)
Also, for device-apps or widgets, you can see if there is a HRM configured by looking at the return array from setEnabledSensors(), and then see if there's a HRM paired. Then by looking at the heartrate in Sensor.Info or ActivityInfo, you can see if it's connected and sending data.
On a va-hr (which has WHR), if you disable WHR in settings, when a app calls setEnableSensors() with SENSOR_HEARTRATE, the Firmware displays a message about the WHR being disabled, in the return for setEnabledSensors(), the app sees SENSOR_HEARTRATE in the array, but no hr data is in Sensor.Info or Activity.Info. (which makes sense, as there is a HRM, but it's not "connected")
I guess the basic question is what you're trying to do - display an icon on the watchface, use HR in an app, etc. In the case of a watchface, you can indicate if the the WHR is enabled by displaying the last HR reading. If there are no readings while the watch is being worn, it's disabled, but "no reading" would also indicate that the watch wasn't being worn. On a va-hr, the readings occur every 95 seconds or so in 24/7 mode.
Thank you jim for explanation but it looks like a workaround for me, isn't it ? :-) I just wanted to add simple indicator to view page in my app like in stock HR chart widget. I think it would be great idea to add new simple flags like "isHRSensorEnable, isBTEnable, isSomeOtherSensorEnable" to new SDK release :-) Better idea is only allow devs to change this settings in theirs own apps but it is propably impossible i think :-P