your using circular logic in your page.
you are passing in an ID using a querystring:
you have created a recordset to filter based on the query string id, you are then using the recordset ID column for the variable in the dynamic plugin
why not just use the URL id variable?
the problem is that the dynamic plugin code is before the recordset code, but in actual fact, you don't need the recordset, you only need to use the URL variable.