Ahh. I understood what you were saying, but i was confusing myself. When it gets to redirect.php, it grabs the correct url from the database and 301's to it. But what i wasnt thinking of was that it wont get to redirect.php if the url is in the correct format in the first place (correct format is without the -p-123.html). So i wrote some script in the article page to check between the requested url and the correct url from the database, and 301 to the correct url if they don't match
I don't think it will ever be an issue, as you said, but its good to have just in case somebody messes up in linking to one of the articles...
Great help guys, thanks again and again!