Well.. whaddaya know.. after quite a few trials and errors, I managed to get the whole thing working. And Andrew, there's nothing wrong with your code. My mistakes, somewhere. 
That datetime error message was caused by my date format. The input I got from the form was in dd-mm-yyyy format. Somehow SQL2000 converted that to mm-dd-yyyy, which caused dates like 25-05-2002 to be invalid.
Anyway.. I've fixed that -- I changed the date format to dd-mmm-yyyy -- and everything works just fine. So far. Still a lot more to go.
Thanks heaps, Andrew. You're great. 