Nope, that ain't it. I reloaded my tradebug.sav file, and this is what happened:
1. Russian and Germany both needed combustion.
2. I went to the Germans, and sold them combustion for 100/gold per turn.
3. I went over to the Russians, only to find out they no longer needed combustion.
(the above is a recap of a previous post, to follow is the new stuff that disproves Loopy's theory):
4. At this point, both Germany and Russia need Radio. To the Russians, I give 13000 gold and something like 500/gold/turn as a gift. I did NOT give Radio.
5. I went over to the Germans, and gave them Radio.
6. I went over to the Russians, and (ta-da) the Russians had Radio! Also, I noticed that the amount of gold they had decreased to something like 11,000 (remember I had just GIVEN them 13,000 and they had no chance to spend it!)
Nice theory, but as you can see, this is obviously a trade bug. Or at the very least, an undocumented feature, which is a programmer's way of saying *cough* bug.
If you want to check this out for yourself, the file is available for download on the first page.