You're misappropriating the term 'cross-browser'.
It does not mean open-source or open.
It means the technology will run across most browsers.
And Flash does that.
You have some valid points but none of them seem to refute the idea that Flash isn't cross-platform.
Does Firefox's IETab make ActiveX cross-browser? It runs in more than one browser chrome! …except it relies on one-vendor's binaries and is limited to platforms supported by the vendor — just like Flash.
Even something that is "cross-browser" can have all negative aspects of a single-browser solution.
My point is that for HTML cross-browser is not the goal in itself, it's only a way to ensure that technology is freely implementable by anybody, that content doesn't rely on bugs in one implementation, that fully-functional implementations can be available 10 and 100 years from now if necessary.