Open up boards.c and in the check_auction function look for
if( pnote->sfor && !str_cmp( pnote->sender, ch->name ) )
{
set_char_color( AT_AUCTION, ch );
if( !can_hold_gold( ch, pnote->sfor ) )
{
send_to_char( "The auctioneer has some gold for you, but you can't hold that much gold currently.\r\n", ch );
return;
}
act_printf( AT_ACTION, ch, NULL, NULL, TO_CHAR, "The auctioneer materializes before you, and hands you %s gold.", num_punct( pnote->sfor ) );
act( AT_ACTION, "The auctioneer materializes before $n, and hands $m some gold.", ch, NULL, NULL, TO_ROOM );
increase_gold( ch, pnote->sfor );
asave = true;
}
right above the asave = true; add
pnote->sfor = 0;
Seems to do the trick for it. I'll keep checking on the auction code to see if i find any other odd things. If you do find something odd though by all means post it