Utley came up to the majors for good in June 2004. He played only part time that year, but in 2005 he was in the majors all year (he pinch hit on opening day). Charlie Manuel was the new manager and played Utley a lot more than Bowa had. Charlie tried to get creative to get Utley into the lineup, sometimes playing Utley at 1B, and sometimes playing Polanco at 3B (he even started Polanco twice in LF and once at SS). Polanco was traded on June 8, but even before the trade, Chase had started more games than Polanco.
Bell had been much better than Polanco in 2004 (he had even been better than Utley, though Chase wasn't getting a chance to play regularly that year). Bell started slowly in 2005, but in the 21 games before the trade, Bell hit .342 and had an OBP of .407. So it wasn't really a slam dunk that Bell should have been the one to be traded, and releasing him would not have made sense at the time.
In hindsight, we remember that Bell didn't hit after the trade and Polanco hit .338 for the Tigers. But at the time of the trade, it wasn't at all clear that Polanco was better than Bell (and they were both very good defensively).