Troubleshooting BGP problem.

So yesterday I setup a BGP scenario which you can see below:

I am doing mutual redistribution on both R1 and R3, between BGP and EIGRP.

I am advertising a couple of routes from R4 (AS 65001) to R1 (AS 65000).

What I expect to happen is for R1 to learn those routes via eBGP (Administrative distance of 20). It would then redistribute them into the EIGRP process where R3 would learn them with an administrative distance of 170 (EIGRP external routes). At the same time the iBGP peering between R1 and R3 would tell R3 of the routes with an administrative distance of 200 (iBGP routes). The end result I would expect is for R1 to have the routes installed with AD 20, and for R3 to have the routes installed with AD 170.

This is however, not what happens. Instead R1 will redistribute the routes into EIGRP, R3 learns them and advertise them back into iBGP. For some reason when R1 gets them back from R3 through iBGP, it chooses to install them into the routing table with an AD of 200, overriding the AD 20. Now since it has one with AD 200, it will advertise this to R3, which again will switch its routes to AD 200. This flapping keeps on occuring on both R1 and R3. This is puzzling. Why would R1 even consider installing a route with a higher administrative distance into the routing table??

Another guy from has reproduced the behavior, and is doing his best to figure out whats happening as well. In the meantime I think I will read up on BGP to see if im missing something in the equation.