It isn't any extra stress on the server since the other information is already pulled anyway (post count, location, extra fields, etc.) It's all joined in the same query anyway.
The reason vBulletin stores usernames into posts is because it supports the option to let guests post without registering an account. When permissions are set properly guests can reply/start threads and type in a username to be shown.
So like, when an account is deleted, all of the posts from that account are marked as guest and have no information associated with them, but it still shows their username.