it looks like you are basically doing it right.
// redirect old traffic to redirect script
that comment should read "internally rewrite", not "redirect".
you should redirect to the alias urls and you should also use those alias urls in the site navigation and internal linking.
any requests for the /node/$id urls should be externally (301) redirected to the equivalent alias urls.
your CMS should do this for you.
the requests for the alias urls should get internally rewritten to your drupal script.