> Again, in both cases the first 4 lines of my rewrite code are not executing, so I can't figure out why commenting them out would solve the problem.
It solves the problem because the first four lines *are* executing. So, now we need to figure out why...
Please review your example URLs and the code very carefully, because they've got to be 100% accurate and ---more to the point-- internally consistent in order to figure this out.
Your 2nd rule does not rewrite to "product pages" it rewrites to "store page", so there is still a consistency problem here... Please re-work your example code and example URLs, and re-post.
The most likely cause is that the second rule is rewriting the script URL to itself recursively. This is not based on your examples, but rather on problems seen in this forum. The RewriteRule pattern must differ from the substitution path to prevent this, or additional RewriteConds must be added to serve as "loop stoppers."
Furthermore, in a .htaccess context, mod_rewrite itself is recursive. That is, if any Rewrite is invoked, mod_rewrite processing is restarted from the top. Therefore, either the rules must all be mutually-exclusive, or steps must be taken in any rules that are not mutually-exclusive to stop unexpected recursion and "infinite loops."
In odd cases like this, it is often helpful to use a server headers checker to look for unexpected redirects. I like the "Live HTTP Headers" add-on for Mozilla/Firefox.
It is also often useful to examine the server error logs for signs of recursion or other problems.