See
here for the windows error codes. 2 in this case is ERROR_FILE_NOT_FOUND. That basically means some required file is missing, however, a "file" for this error could also be a required registry entry.
Now it depends on when this error happens, if it's right when you start the launcher then some c++ runtime installation could be faulty or a registry entry related to internet explorer usage, to rule out the latter you could start internet explorer once as that would setup some registry entries that may or may not be required (the launcher uses the windows built in http stuff and that somehow is a bit tangled with iex).
If you get it later then the daoc game.dll or some daoc file might somehow get removed between launcher start and login in which case you'd have to look at your anti virus.
Given that a system restore fixed it, the most likely reason was a missing registry key or a faulty c++ runtime.