Hi Brenden,
Thanks for your response, and I agree if you set the data source each time then that part of my custom web part would work correctly, however the link button mentioned above when clicked populates a second repeater which in turn has another link button on it that has an event that needs to fire for the web part to work correctly.
Is there a way for the repeaters to maintain their state as they would in a standard aspx page? Unfortunately it would not be feasible to load all the data each time.