Set the default directory for all applications that did not launch before:
defaults write NSGlobalDomain NSNavLastRootDirectory "~/Desktop"
Overwrite all previous locations for applications that did launch before:
find ~/Library/Preferences -name "*.plist" -exec grep -l NSNavLastRootDirectory {} \; | while read domain; do domain=${domain%.plist} ; defaults write "$domain" NSNavLastRootDirectory "~/Desktop"; done
In both cases, replace "~/Desktop" with your path. If it contains spaces or the tilde, don't forget to use quotes.