If the DataSource of the grid is null OnNeedsDataSource should be called...if it's not being called have you tried setting the DataSource property to Null in Page_Init or Page_Load (cant remember which one)? (Shouldn't be at all necessary though)
Are you binding the dataset back to the proper grid?
((RadGrid)sender).DataSource = data;
...and debug shows this all getting triggered right?