one can make the case that if an X never occurs after another X, then the subject is in a different state after an X than after a Y in term of expectation set, and this may or may not affect the experimental outcome.
In any case, the problem is larger than just avoiding immediate repeats. To do randomization right, you need to be able to do things like blocking sequences like XYXY, specifying the min or maximum number of intervening trials, and even much more complicated operations. It just depends on the goals and/or assumptions of the experimenter.
To me, what would work best would be some way to use an external script to randomize or otherwise manipulate “stuff” in a scenario just before (or even during) running.
(Actually, there are ways to do it even now, but they are kludges and require considerable programming support.)