Hi
I cannot advise on .htaccess rules, that's not really what we do but I can comment as follow:
1 - If your URls are like example.com/index.php?xxx=yyy, it's normal and expected that they do not trigger 404s. xxx=yyy are parameters added to the main request which is example.com/index.php
example.com/index.php will load the joomla site home page, and if the xxx=yyy parameters don't mean anything to Joomla, it will just ignore them, as is expected. So you end up seeing the home page.
2. Do you want to redirect those pages or just 404s them? If some pages are really, really the same on the old and new site, or at least deal with the same products/content, you should redirect. If you don't have an equivalent page on the new site, it's better to just 404 them.
3. .htaccess redirects should work, so it's a matter of tweaking the rules until they do. You can however use sh404SEF to do some of all redirects. Under the Aliases page, you can click the New button to enter an alias, and you can use {*} and {?} to perform generic redirects. For instance,
Alias: /index.php?main_page=index{*}
Target: /welcome
Will redirect any request that starts with /index.php?main_page=index to a welcome page.
Note that I strictly recommend that you do NOT redirect everything to home page, you need to explain to your visitors what happens and why they are seeing the home page while they were looking for something else.
You can add as many aliases as you want, so you can have several redirects for various cases.
Best regards
Yannick Gaultier
weeblr.com / @weeblr