A CDN isn't just a separate domain to host your static content. The purpose of the CDN is to serve files to clients (people that view your web page) from servers that are closest to them geographically.
For example, you have a server where your website is. Let's say that server is in Virgina, USA. With all else considered equal, people visiting your site from VA will experience quicker load times than those in California. That's where a CDN comes in. A company that has a CDN network will have servers all over the country. They will take your static content and put them on their network. So when the VA guy visits, he gets files from the closest server in Virginia. The guy in California will be downloading your website files from a server near him in California.
So creating a subdomain for your static content really has nothing to do with a CDN. But it does have benefits, so I would recommend it.
Calling a domain "cookieless" is a bit missleading, but it's used nonetheless. Cookies are set at the application level, not the server. So there really is no server setting that you can apply to prevent cookies. So you have to tell WordPress explicitely which domain to set cookies to. Otherwise it will set to all. And to answer your question, it's better to create a subdomain for your static content.
How to set your cookie domain in WP: http://codex.wordpress.org/Editing_wp-config.php#Set_Cookie_Domain
Also, if you're using Google Analytics, you'll also be able to explicitly state which domain to set cookies.
_gaq.push(['_setAccount', 'UA-XXXXXXXX-X'],
['_setDomainName', 'www.domain.com'],
['_trackPageview']);
More Info: http://code.google.com/apis/analytics/docs/concepts/gaConceptsCookies.html
Hopefully that clears a few things up.