Ultimately it's going to depend on what you're trying to do.
If there's a focal length range that isn't covered by your gear that you really need to cover, then a lens covering that range might be worth it, depending on how often you expect to need to shoot in that range.
20Ds seem to be going for about $600 these days, with 30Ds going for around $800 or so. Many 30D owners have upgraded to the 40D so the price on those has dropped a bit.
Unless I were going to use the new focal length range a lot, I would upgrade the body. While it might not necessarily help your images all that much, I expect it will significantly improve the shooting experience. I don't know about you, but one of the big reasons I enjoy photography is the feel of handling the gear. If that weren't a significant factor, I could get away with just a point'n'shoot or something (though I wouldn't have nearly as much control over the results).