This is really the only type of trigger you can create that resembles what you want. I can't remember if the displayed wording of this changed recently, but with triggers like "becomes < 400," what really happens regardless of wording ("is < 400," "reports < 400," etc.) is that the trigger matches every time a new event gets generated where the reading is less than 400, even if the device previously reported a value in that range (i.e., it doesn't track it and only "reset" when it goes outside of that range).
However, as you suggest, there is something you can do. If you're not using it for anything else, Private Boolean is one way that would work (if you are using it or don't want to, you could also use a local Boolean variable instead, but PB is already there for you). An easy way is just to set it to False for this rule, making the first part of your actions something like:
IF (Private Boolean False) Exit Rule
Set Private Boolean False
// My real actions here
Then, you could create another rule triggered on PB > 400 or whatever range you want and set the PB on this rule to True (that's one advantage of PB over a local variable: it's accessible from other rules).
Alternatively, you could add something like this to the end of the rule and keep it all in one:
// My real actions end here
Wait for events: Illuminance of Multisensor_6 > 400
Set Private Boolean True
...but then you'd need a few more clicks, something like this for the actions (otherwise that part will never run...maybe I should have just done this from the start instead of trying to save a few clicks, but at least you can see my thought process):
IF (Private Boolean is True) THEN
Set Private Boolean False
// My real actions here
END-IF
Wait for events: Illuminance of Multisensor_6 > 400
Set Private Boolean True
...and there might be other ways, depending on what makes sense to do in your exact case.
Or to answer your last question directly, no, I don't think there is a better way with RM.