I think the problem is that you have two rules that would effect that url.
So you are going to:
/products/aluminium
The first rule that satisfy's that is:
RewriteRule ^products/(.*)$ product_category_results_s.php?perm=$1 [NC,L,QSA,T=application/x-httpd-php]
That rule adds the url parameter, but since it is a mod rewrite it doesn't actually change the url. Then it hits your rule:
Redirect 301 /products/aluminium http://www.billbutterswindows.co.uk/products/windows/aluminium-windows
That is doing the redirect to change the url in the browser but now it has the added parameter.
It might be as simple as changing the order of them in the .htaccess file. You may have to use the alternate syntax for 301 redirects and move them above that way.
RewriteRule ^products/aluminium$ http://www.billbutterswindows.co.uk/products/windows/aluminium-windows [L,R=301,NC]