In EIGRP, DUAL will identify the loops in the internal routes by using FC (Feasible Condition) but It can not do the same thing with the external routes (D Ex). So DUAL uses Router ID to find loops in the external routes.
If two routers are having same Router IDs, then the external routes will be dropped by the routers without even putting it in the topology table. (If you capture the packets, you will see the updates are going but the routers will not take them).
Even though they have duplicate Router IDs, Still they update internal routes according to the 2nd scenario.
But I wonder why it is not happening in the 1st scenario....!