some newer version of IIS do not allow for changing the recordset cursor location. you can try changing line 36:
RsRelatedProduct.MoveFirst()
to:
RsRelatedProduct.Close
Set RsProductDetail = RsProductDetail_cmd.Execute
which would recreate the recordset and move it to the beginning.