Nikhil Kothari has written an excellent 5–part series on MSDN for authoring data source controls.
Part 1: The BasicsPart 2: ParametersPart 3: Asynchronous Data AccessPart 4: CachingPart 5: Design Time Functionality
Well worth a read.
UPDATE: Corrected links.