As far as I can tell, using setVariable with true for public broadcast will NOT fire a PVEH. You would probably have to run a separate monitoring loop script to check for changes. Example (untested):
while {true} do
{
_cur = myUnit getVariable "paranoia";
waitUntil {_cur != (myUnit getVariable "paranoia")};
hint str(myUnit getVariable "paranoia");
sleep .01;
};
Not sure if still relevant, but with addPublicVariableEventHandler, _this select 0 always refer to the name of the variable, _this select 1 is always the value of the variable.