No, CNAME means canonical name, it doesn't perform redirection. The whole point of CNAMEs is to provide multiple pathways to the same destination.
The rest of the code on your site might be doing that redirection, however, and I know SMF has internal handling to shunt users to the proper domain.
If you add a 301, you should indeed restore the A record and deal with the redirection on the server yourself, it's the only way to be sure.