I am not an expert either. However, logic and common sense, usual is my salvation
(amen) 
.
It seems we both have different server configurations.
I adjusted your code, (which is by the way, far better then the code I've tried earlier today) to this:
RewriteEngine On
#RewriteBase /sNews16
RewriteCond %{REQUEST_FILENAME} -f
RewriteRule ^(.+) $1 [L]
RewriteCond %{REQUEST_FILENAME} !-d
RewriteRule ^(.+)/$ index.php?category=$1 [L]
RewriteCond %{REQUEST_FILENAME} !-dRewriteRule ^(.+)$ $1/ [R=301,L]
I needed the extra line, to prevent .htaccess from adding an extra slash. The red line tells the server only to add slashes if it is not a directory.
I've tested yours and mine like this:
I've created a testmap, containing an index.html and somefile.html. I also have a somefile.html in the same directory as snews. That way, I am able to test all kinds of request like:
testmap/
testmap
testmap/somefile.html
somefile.html
Maybe you can do some similar testing on your local install?