Disclaimer: I don't know Ruby/Rails, so I don't know what frozen gems are (though I assume they're compiled binaries or tokenized source), but I know Subversion well.
.svn directories only hold Subversion "bookkeeping". There's nothing in there that's unrecoverable.
Deleting your .svn files is not a problem at all. If the directories with the missing .svn directories are somewhere inside a tree of directories in your subversion working copy (the directory you did a checkout into), just delete those directories, do an svn update, and they will be recreated.
If the whole tree is missing the .svn files, delete the whole tree and do a svn checkout again.
svn:externals is like a "symbolic link". You have Project A and Project B, which uses Project A. What you do is add an svn:external property that references the library directory of Project A, so whenever you check out Project B, it will automatically put the library directory from Project A in it. For instance, I often have a directory called "thirdparty" which holds the externals to libraries from elsewhere, including evn:external references to other projects in subversion.
One tip for solving version problems like this is to have separate release directories for the libraries (or frozen gems), and in your projects that need them, use an svn:external reference to the appropriate release directory. As new releases come out, just change the svn:external property to point at the new release directory and svn update.