Hmm. Works when user not logged on (I guess you're just connecting to the exchange server, not logging on to the domain).
What version of outlook is this? Did you install it from the same disk as the other office components, or from a different disk - if so have you tried replacing just the outlib.dll file you are using with the one from the original Office disk?
Does it happen with all users logged onto that machine?
Are you running other programs at the same time, and have you tried without running them? If you have the time, you could hit ctrl+alt+del before running outlook, to get a list of running apps, and try ending those tasks one by one (don't close mapisp32 though). You will eventually crash your machine doing this, but just fire up again and don't stop that application!
You might also compare the list of running apps on the rogue machine with one that works (logged in as the same user).
You might find out what Outlook is fighting with.
Can't offer a real solution beyond that. If you get any interesting results let us know, it might jog a memory!