I am running 21.2b13 on NT4.0, but do not know one way or another whether
this is a new problem or a platform problem.
A numeric or c-U argument to c-X ) repeats after defining properly, but the
keystrokes that make up the argument itself become part of the macro
definition. They are left in place after executing the macro and so affect
the next command.
For instance, c-X ( a b c c-U c-X ) inserts abcabcabcabc but the c-U is
still there. At this point c-E (the usual next thing to do) will insert
another abcabcabcabc instead of just abc.