Ok.  I understand the problem, but we still need to use url::redirect wherever possible to keep our code paths simple.  Two choices:

1) url::redirect("tag/{$tag->id}/{$tag->name}");
2) add Tag_Model::abs_url to match Item_Model::abs_url

#1 is simpler and legal in this case because this code is supposed to understand the url structure.