ACR4 is a stream cipher. It does not encrypt the way you think it does. Try this:
en("abcd" * 16)
and see what happens. The result will not be 16 times the same bytes but similar to what you tried in your question.
If you want to encrypt to the same bytes, you must use a new instance of ACR4:
e1 = ACR4.new('0123456789123456').encrypt
e2 = ACR4.new('0123456789123456').encrypt
assert e1("abcd") == e2("abcd")