this thing where they are in cover compared to the player, but the player is not in cover compared to the enemies.
Aside from when you're actually on a jetski, there is no cover mechanic in UR. That's a line of sight mechanic, and it makes sense that A can have LoS to B while B does not have LoS to A. I do wish we could move in 1MP increments like enemies seem to be able to do, but the LoS thing seems reasonable, if occasionally irritating. It seems that it is possible to get LoS on an enemy that doesn't have LoS to you, so the system may well be "fair".
Why does it make sense, how is it simulated or explained? As far as I can tell detection and line of sight is calculated by drawing a direct line between the centers of two entities and seeing if there are any impediments along the way, this process should be perfectly reciprocal and not influenced by any concrete property of the entities like size or facing, nothing else is simulated or suggested as being simulated.
The only thing that could introduce an error is the line of sight code being different for players and enemies, and/or enemies being able to use special movement code to position themselves in rare spots on the map where strange things happen.
If the bug is fixed it should be fixed both ways, the main reason it needs fixing is removing the irritating moment where an enemy roots you and you need to check if you can actually fight back or his magical invulnerability has activated and he can snipe at you without even having to move around or having a human AI that uses tactics like breaking LOS on purpose.