Good morning!
I agree, I hate using the PV security and am using a "security" PLC that just runs code for the user information. I am doing this as I have multiple systems which are all linked to the same HMI. I have a USB RFID reader attached to the HMI which reads into a tag in the security PLC. My program then sets the visibility of items on the screen according to what user is logged in. The programming is not super complex but is much easier to use than the PV security. As far as "knowing" whether a user is making changes, I am using a simple bit of code to monitor when a user moves between screens. I have a tag called out in the PV global connections, display tab, which I query in my PLC code. See attached. This tag is entered in the field "ReplaceDisplayNumber" which is actually what display is currently in use (not intuitive). The PLC code monitors if there is a change to the screen number. To use this, each screen must have a unique number at design as has been previously discussed by JRoss.
PV Code Snippet.pdf