However, your choice of language should be based on what it can do for you. If Flash lets you make a game quicker, then you may want to go with it. Quickly getting a project from beginning to end is amazingly important. Otherwise, you can flounder for a year without much to show for it because you were tackling all sorts of coding issues that were only tangentially related to the game you were trying to make.
C++ is a bit more open and standardized, though, which means that if you decide not to use DirectX (say a port to the Mac or GNU/Linux), you'll have an easier time of it. Flash is pretty much owned by Adobe, which means that they exert a lot of control over who gets what. Adobe is doing a better job of porting it to non-Windows platforms, though, so maybe this point is/will be moot.