If you want to remove the old default route, you must explicitly delete
it first. Linux treats the combination of route address/netmask,
gateway and device as a unique route "key", only if all match a current
entry is the existing entry changed, otherwise a new entry is added.
Using a different gateway makes it a different entry.
When you have multiple links to the outside world, you should be
looking at using dynamic routing. NET-2-HOWTO covers this under gated.
Instead of hardwiring your routes, you run a routing daemon that talks
to your ISP's over all available links and dynamically determines the
shortest route from Leonardo to wherever you want to get to. If one of
the links drops, after a while the routing daemon will notice and
reroute everything via the other link(s).
You need to get both ISP's to talk a routing protocol to Leonardo. If
the ISP's are using static routes and a link drops then they will not
notice the lost link and they will still try to send packets down the
link instead of rerouting to the other link. That is, you have to fix
Leonardo and get both ISP's synchronised.
In the short term, you can get away with a single static default route
via the T1. Make it your default route, get the new ISP to advertise
the route to Leonardo (both old and new addresses), tell the old ISP
not to advertise a route to the old address. Gives no backup but does
let you use the T1 fairly quickly until you have gated running.
Also in the short term, if you have known networks that you still want
to go via the old router (but not via the old ISP), add them as static
routes via the old router. For example,
ifconfig route add -net c.c.c.0 netmask 255.255.255.0 gw a.a.a.237
Even this is a short term measure, ideally these local networks should
also be using a dynamic routing protocol.