Hi Sunny.
There are two parts to this. CNN are using the actual hashtags argument for the Tweet Intent to append hashtags to the text. This is a comma-separated list of tags. So, for example:
http://twitter.com/intent/tweet?url=http://example.com&text=Hello+world!&hashtags=foo,bar,baz
That invokes the intent with just the text ‘Hello world!’ highlighted, followed by #foo #bar #baz, followed by the shortened URL.
For your example though, where you want the hashtags embedded in your text, you will need to encode the hashes. Hashes are special characters in the URL (they identify document fragments) so they, and anything following, does not get sent the server.
@Ponra was close with the suggestion to HTML encode the #, but you need to URLEncode it, so use %23. Like this:
http://twitter.com/intent/tweet?url=http://example.com&text=Share+@MyApp+with+the+world!+Coming+soon+to+%23iPhone+and+%23Android
Hope that helps,
@benward, Twitter Platform Developer