Hi Chris
First and foremost, in my mind you don't need to change a thing. It's working well - and here's why:
Think of a canonical tag as an instruction to Google to treat that URL is the top dog, the be all and end all - the one that you want Google to index and rank.
Any other page or URL that has the same canonical tag on it is basically your way of saying - "see this page? Don't worry about that page, it's a variant of this page that might look the same. Ignore it and rank that other page!"
Now, why would you want to do this? Well, if Google thinks that your website has duplicated content and it believes it is being done to manipulate or game the algorithm, it might hit you with a penalty (often a Panda penalty).
Ecommerce sites often have this problem with their product pages and, while not usually intentional, Google has been known to put penalties on these sites.
Your site, in my mind, counters all of these problems very well.
Google can and will index URLs with query strings on them (anything with a "?" after it) and treat them as separate pages. That means, theoretically, Google would have tried to index all of these URLs of yours:
http://www.bronterose.co.uk/range.html_?p=2_
http://www.bronterose.co.uk/range.html_?p=3_
http://www.bronterose.co.uk/range.html_?dir=asc&order=price_
http://www.bronterose.co.uk/range.html_?dir=asc&limit=all&order=price_
Now this would be a problem, as you'd quite likely have similar looking pages being indexed where products appear in multiple URLs. This duplicate content could lead to a penalty.
But that's where the canonical tag comes in and does a great job. Your tag is telling Google "ignore all versions of the http://www.bronterose.co.uk/range.html URL with a ? on the end of it - that's just to help the user and I'm not trying to duplicate content to try and rank higher. Ignore them and treat http://www.bronterose.co.uk/range.html as the main page"
So you're avoiding the problem of duplicate content and your canonicalisation is working well. Very well, in fact. If you do a site search (check it out here) you will see that only one version of the URL has been indexed and noted by Google - and that's the canonical version.
So keep it just as it is in my eyes - it's set up very well indeed!
Hope this helps.