While using Ubercart Auction I have seen few bugs...
When {uc_auction_bids} table started to buildup. (for example 200 more bids in one node) The db_query() starts to show different value.
using MAX() function for db_query() is not advisable because if there's two amount with the same value it could return the average value(or similar values) for other columns.
I recommend to use "SELECT ... {uc_auction_bids}.bid FROM {uc_auction_bids}.... ORDER BY {uc_auction_bids}.bid DESC LIMIT 0,1 WHERE [your condition]"
so it would return only one row with exact value for same row value.
One example would be:
uc_auction.module on line: 569;
$highest_bid_data = db_query("SELECT MAX(amount) AS amount, bid, uid FROM {uc_auction_bids} WHERE nid = '%s'" , $node->nid);
it will be like:
$highest_bid_data = db_query("SELECT amount, bid, uid FROM {uc_auction_bids} WHERE nid = '%s' ORDER BY bid DESC LIMIT 0,1" , $node->nid);