This error typically means you're trying to access a control that doesn't exist.
What you need to do when you come across this error is go through your code to find what you're referencing that you haven't added to your web/windows form.
In this case I would suggest you look at item andRecordFlag to make sure they're declared somewhere, particularly item.Email1Address.
Also - make sure you close your datareader when you finish as well. Garbage collection will pick it up anyway, but if you re-use the datareader object later in a page/script garbage collection won't get it until it reaches the end of the processing.
rdrSearch.Close();
Ben