Multiviews is the option to look for files in other directories if it is not found in the current one. That implies that it finding results is not restricted to the same directory, not that it circumvents mod_rewrite. It uses mod_negotiation. Using the option Multiviews let the server choose, based on the pattern what is the best file to chose. That is not the situation imo you are after when using .htaccess and mod_rewrite. I never use it.
What I noticed are the RewriteConds in your .htaccess. They are not required. I got it working without them. The more you specify in .htaccess, the more problems you can have. (Rewrite can be voodoo indeed.)
I made a .htaccess file without those conditions and it worked:
AddHandler cgi-script .cgi
RewriteRule ^(.*)\.txt$ $1.cgi [L]
That is enough to make it working. Now is the RewriteRule resolving to the same filename only another extension and not filename + extension.
In the handler tag [H...] do you need to specify the mime-type of the cgi file. That is application/x-httpd-cgi, not cgi-script. But you do not need to specify the H-flag when you use AddHandler.
127.0.0.1 - - [16/Mar/2015:15:35:47 --0700] [localhost/sid#7fb378812308][rid#7fb37889aea0/subreq] (1) [perdir /.../posita/public_html/rewritecgi/test3/] pass through /.../posita/public_html/rewritecgi/test3/test.txt.cgi
If you remove -MultiViews from your first list of options in your first .htaccess, then will you not have any 404 anymore. That is how it worked at least on my server.
My remark about the [H=...] is not that it should work, but that if you read the documentation, that you should make use of the mime-type. cgi-script Is not the mime-type of a cgi-file. In my previous comment should I have said remove -Multiviews from the options list and then will you not have any internal server error due to the disabled RewriteConds.