The situation with `error' is indeed in flux and confusing.
Here's a recap:
Version 4.2.2 and before: `error' in ISL (and other HtDP languages)
expected 2 arguments: symbol and string.
Version 4.2.3: `error' changed to expect a single string argument.
Version 4.2.3.x (SVN and nightly builds): `error' takes any number of
arguments; it isn't currently documented correctly.