I now got the code to work using set mirrored action -- however, quite like my earlier work around -- where I set a flipped frame, to rectify the flipped image -- the set mirrored is visually noticeable by making the sprite blink.
That's just a normal consequence of the 'Set mirrored' action. Even if the behavior controlled that for you, it'd still work like that.
'Set mirrored' is a shorthand for setting a negative width. The reason we don't make behaviors control the mirroring is it effectively means the behavior then controls the object size. This could then conflict with any other actions or behaviors that also aim to adjust the object size. So by leaving this to your event sheets, you remain in control of how the object size is managed.
Behaviors are really just to simplify some basic calculations and gameplay mechanics. Most behaviors can be replicated in events, and if you need to customise them beyond what the behavior provides, you can and should use events instead. This is an intentional design decision of Construct.