I don't agree that a redirect is intended as a replacement for updating links when the destination has changed. A redirect is for a URL - not a link. Even the spec suggests that links should be updated:
Explicit in the specification of a 301:
"...any future references to this resource SHOULD use one of the returned URIs"
I.e. update the links wherever possible.
From an SEO point of view, the point has been made a few times above - 301s may retain the ranking signals, but they have less chance of doing so than a straight link. This is increased risk for the client's website performance.
Finally, how difficult can it be to update site-wide navigational links? This should a quick and straightforward task IMO, which should make any argument against updating moot.