This is a limitation of dreamhosts webftp.
webftp won’t display hidden files (specifically those files where the name begins with a . ) I’ve found that I can upload a hidden file such as .htaccess via webftp but like you say it appears to disappear after it’s uploaded. It’s actually there it’s just that the webftp client will not show it.
If you use a local ftp client such as filezilla, fireftp (plugin for firefox), or winscp, etc. then the default settings will also most likely hide ‘hidden files’ and you will need to find the setting in preferences to ‘display hidden files’ and set it.