ADSI has been a royal pain for me too. It's one of those things that MS doesn't provide adequate tools with which to teach yourself. I mean, how many developers out there are going to has access to a DNS or Exchange server so that the connection strings can be set up properly? Most admins just don't have the time to teach or show a programmer how these things are done.
I remember when ASP first came out what a chore setting up file DSNs and connection strings were. Finally a MVP put up a website with very clear directions on the dozens of different connection string settings for all the databases out there. It was a lifesaver! Someone seriously needs to do the same thing with ADSI, but MS seems to have a wishy-washy relationship with it. Now that .NET is out there, ADSI will get even less attention, which is sort of tough for those of us who love .NET, but have to work in classic ASP.
Look up a previous post of mine named "Anti-Patterns"... There are many examples of wrong practices, their effects and possible solutions. You can take comfort in the fact that they have far worse errors there than anything you or I could ever think of :)
I actually have the "Anti Patterns" book. Should help out..
I read with interest your story as a similar thing happend to me recently. I didn't get fired but I feel that as a result there has been a slight loss of confidence in me. I was tasked with some complex work to do and thought that I had thoroughly read the specifications. Due to the way I sometimes speed read I later realised that there were parts which I skipped over which were considerably complex. This also led me to grossly underestimate the time it would take. One of the problems I had was that in my company I am the so called "resident expert" so there wasn't really anyone to turn to for advice. Granted there are plenty of technical forums but that was not the problem. The difficulty was the design. In retrospect I should have 1. read the spec in detail, 2. spent even more time thinking about the problem in advance (I spent a weekend dwelling on it) and 3. Perhaps overestimated the time frames. I would be interested to hear what others would have done to prevent this happening or how they would have approached this.