g1smd - 8:30 am on Feb 13, 2013 (gmt 0)
Yep. That covers all the salient points.
Many people recommend the ID should be last in the URL, stating they want the keywords relating to that page to appear first. I'm not convinced it makes all that much difference, and prefer the enhanced broken URL request handling and the much easier RegEx pattern in the rewrite:
^([prs][0-9]+)-(.*) or similar.
The redirect system also works for URLs with junk appended on the end: something that's a regular question in the Apache forum.
Extract $1 and do a database lookup for that ID. If it doesn't exist, return 404. If it's a discontinued item, return 410. If it exists, make sure $2 has the right wording. If it does, show the page. If it does not, redirect to the correct URL. It's a few dozen lines of PHP.