Hi Don,
Your query looks good. However I replicated the same error
Could not parse: Unknown operator ")" in a custom grid by omitting the white space around equal sign in front of "tag2" as shown below:

Here is the error:

It was fixed by adding a white space around the equal sign:

Here is the result - two stories are returned:

Next, I tested the same query in the WS API interactive document (
https://rally1.rallydev.com/slm/doc/webservice/). This time three stories were returned since a direct WS API query is scoped to the entire workspace by default, while in the UI, it was scoped to the current project. I had another story in my workspace, outside of the project tree of my current project, that was not returned by the custom grid but was returnd in the WS API doc:

Custom grid returns only the first page of the results. The max page size in WS API is 200. The default page size is 20. You may certainly change the PageSize on the settings dialog of a custom grid to 200. However if there are more results, they will not be returned by the custom grid. It does not page automatically. A cusotm app can be written with AppSDK2 (
https://help.rallydev.com/apps/2.0rc3/doc/) (if you are comfortable with javascript) that would return all artifacts that meet that criteria, since a rallygrid component pages automatically if its config property limit is set to Infinity.
It is true that it is not unusual to observe a difference in performance between browsers, where Rally is more performant in Chrome compare to FF or IE. We continue to work in this area to provide customers with good experience across modern browsers.