Hi Filippo,
It's because of this line:
rpt = New ReportDocument
You are create a new report object so it's loading the report off of disk again.
What you want to do is refresh the data and then call report.refresh. Make sure all values are filled in or it may prompt for missing info.
Due to caching you may need to close the first report and reload it again and then do what ever to set to the data source etc..
Don