I can easily get 400 connections with a simple setup and some minor code changes. How many people would need to have the same setup and then pool the data to have 90% confidence that they know the ip address of the initial transaction? Is that even possible?
Suppose there were 'n' computers with this setup, each with ~400 connections that log the time they first see a transaction. The one 'n' computer that saw the transaction first would most likely know the originating ip.
Alternatively, Could/Would you have to map out the network (i.e. know who is connected to whom) to figure it out?
I agree that once a client has 8 connections it won't connect again, but I believe that disconnections are fairly common. Just check the 'debug.log' file in your bitcoin client data directory and look for 'disconnecting node'.
--E