Here's an answer based off of my comments.
The mdframed package can do what you want. It's relatively recent, so you should make sure you are using the latest version. You can use the \surroundwithmdframed command to wrap pre-existing environments with frames. So you would want \surroundwithmdframed{Sinput}, \surroundwithmdframed{Scode}, etc. for all of the environments that are created in Sweavel.sty via \lstnewenvironment. Also, you would probably want to customize the mdframed frame by using optional arguments, for example, \surroundwithmdframed[linewidth=2pt]{Sinput}. Depending on your needs, it might be simplest to define an mdframed style, so you can easily use the same style for multiple environments. And you would probably want to turn off background colors, etc. from listings (modify the listings styles created in Sweavel.sty with \lstdefinestyle).
I would recommend using the \surroundwithmdframed commands within your .tex file, rather than modifying Sweavel.sty. That will make your document more portable, since anyone can use it and get the same results; it won't depend on a custom version of Sweavel.sty. If you need these custom settings a lot, you could simply throw together your own .sty file. If it's primarily for personal use, you can just do something very quick and simple like this. For more on creating styles, see this.
\surroundwithmdframedcommand to wrap pre-existing environments with frames. – G. Poore Aug 10 '12 at 16:06\surroundwithmdframed{Sinput},\surroundwithmdframed{Scode}, etc. for all of the environments created in the .sty with\lstnewenvironment. Also, you would probably want to customize the mdframed frame by using optional arguments, for example,\surroundwithmdframed[linewidth=2pt]{Sinput}. And you would probably want to turn off background colors, etc. from listings (redo the styles created in the .sty with\lstdefinestyle). – G. Poore Aug 10 '12 at 16:54