I have found a solution to the "Search String is Empty" problem when creating a complex search over the web.
The problem is that the URL gets truncated by domino after 256 characters (ish) so domino does not understand the search string in the query.
The solution is actually quite simple, if you create your own web form with the action of /dbpath/database.nsf/viewname?searchview and the method of post. Then put a web hidden field with the name of query (and all of the fields that you normally get from the url), and submit the form it will return the results.
To do this you will have to replace all the "+" with " " (where you have previously done the opposite). You can change the value of query (and all of the fields that you normally get from the url) in client side javascript before posting the form.
Then as if by magic the results appear