thanks for reporting back
It does seem to initiate the check on the machine and not the expression in the variable assign alone.
correct, it isn't fully straight forward how some of these VPEs behave.
Now if F5 can't get the MAC address from the client machine does it go to the denied branch?
i do believe that is the case, but it depends on how you built your selection VPE, you could go for something else if the MAC is empty. to get a MAC address the client has to run something, so it might also not work on all clients.
i put my question which got you on the right track as an answer now also, if you can flag that the question and the correct answer is there for others to find.