Prevent windows and Desktop icons from rearranging with multiple monitors? I connect and disconect my MacBook Pro from a number of external displays each day. Each time I connect or disconnect the size, shape, and positions of windows and Desktop icons become disorganized and they end up in different places scattered all over the place. How can I keep my windows and icons from moving when connecting and disconnecting from external displays? 

Are there settings in Lion to control this? Are there third-party apps that fix this?
Disconnecting the external display should not affect the positioning of windows and icons that are not on the external display, unless you have it set as your primary display. To set the internal display as primary, go to System Preferences → Displays → Arrangement and drag the menu-bar image (the white stripe) to the internal display. This will, of course, cause the menu bar and Dock (unless your secondary display is below your primary display) to be on the internal display.
For a window that is positioned on a secondary display, if you minimize the window to the Dock or hide its application before disconnecting, and reconnect before making it visible again, then the position of that window will be preserved. I find this quite useful.