Here you can find my WinDock program which was made to allow windows to dock to the edge of the desktop screen and for MDI child windows to dock to the edge of the inside of their owner (eg with Excel).
There are limits to what the program can do since some windows are not dealt with yet (e.g. Command Prompt due to how the OS implements them). As well general snapping to other windows is eventually planned for the project. It has been solidly tested on Windows 2000 & XP for a good few years now with the code in this release though there may be issues on Win9x / Me systems (not sure as i've not worked on them for many years now).
Note: This does work with Vista / Windows 7 though on 64-bit versions then only 32-bit programs will be handled (as you can't load 32-bit dlls into 64-bit programs). There are also some issues with the docking of windows when using Aero with it incorrectly calculating the dimensions of the window frame for fixed frame windows / dialogs and the icon mode doesn't properly work anymore and will likely be removed for the next update (unless i work around size and move actions triggering incorrectly).