What might be causing my problem to access user variables in Rules?
Not sure what the reason might be that is causing your problem. But something that you could do to make this work, for sure, is like so:


Add a Rules Action "Fetch entity by id", whereas you want to fetch the user entity, and where you use the uid of the "current-user". For any subsequent Rules Action, you then have all fields of that user available as tokens.
Enable the Conditional Rules module, which allows you to specify Rules Conditions as part of Rules Actions. Using that technique, you can then like "move" any of your existing Rules Conditions (ie the ones where you need those user variables, as per your question). In doing so, you can then use any of the tokens that you made avaiable via the preceeding Rules Action "Entity has field".


BTW, no dangerous PHP code (stored in your database) needed to get this to work ...

Easy, no?