1. I'm attempting to read the auction house after a query, where the print function is put in for debugging purposes. I'm noticing the print function being triggered 3-6 times after a query is made and the auction list updates. Since I will be reading a large number of auctions, how can I make sure I only trigger the OnEvent programming once?

        <Frame name="READAUC">
                    self:RegisterEvent( "AUCTION_ITEM_LIST_UPDATE" )        
                    print( "Item list updated." )

    You could bucket the events so that you only act on one even if there are several put together. Something like AceEvent has support for this, or you could write it yourself. Perhaps there is a better event you can use (check /eventttrace).