The way I did it last year (I had enough mining income to warrant and enough ordinary income that I am in one of the classes the IRS likes to audit) is as follows. The CPAs in the room can tell me how off base I was.
Mining output = Ordinary Income reported to IRS on Line 7 of 1040 by calculating the value on the date (I use Mt Gox weighted average unless they are unavailable in which case I use BTC-E value half way between daily high and low) it was transferred into my wallet.
The value calculated above provides my cost basis of the BTC I own (I never buy on exchanges, but if I did this would be there as well). When I sell them the profit from my cost basis (if any) are calculated as the difference between my cost basis and the sales price. Thus I must keep records of the individual cost basis of each BTC I receive separately (and thus it pays to make transactions large and few) and allocate them individually to each sale. This value is reported as Cap Gains on Schedule D and 1040 Line 13 to the IRS and I pay cap gains (currently short term as I have not held any BTC long enough to qualify as long term) tax on that value.