Deepak, I did some more testing on this today.
First, I found a way to test it without having to make repeated $5 contributions via Google Checkout . I just go into CiviCRM and delete the contribution from "Verena-bt7d5btavr5@checkout.google.com". Then I re-pull from Google Checkout – the same transaction is fetched because CiviCRM doesn't know about it anymore.
But it's still not finding the fee. I've kept your debugging lines in the code, and I put the results up at the same URL we were using before (I can send you an IRC transcript if you need).
Based on the Google Checkout API documentation (http://code.google.com/apis/checkout/developer/Google_Checkout_XML_API_Tag_Reference.html) it seems to me that "latest-charge-amount" is probably not what we want: that's just the total amount charged for the whole transaction, right? It looks like "latest-charge-fee" (or some subtag thereof) is correct... I don't know why the old code wasn't working, and I'm not expert in the CiviCRM code, I'm just basing this on reading Google's documentation.
I'll attach the patch I'm currently running with.
assigning for 3.1 verification