I think that Haxe and PhoneGap are different in this case.
PhoneGap is used to provide a wrapper for platforms, so you can write the
same code and still access native APIs.
I know this sounds similar, until you recognize that there is a clear
"wall" between your application code and the actual platform. In order to
extend the function of PhoneGap, you will still need to write C++,
Objective-C or Java code.
Where Haxe is unique is that, unlike a runtime, there is no barrier
between your code and the rest of the application. You are not writing in
Lua, communicating with C++. You are not writing in Javascript,
communicating to Objective-C. The reason why I think that "native" is a
fair assertion is that you're writing Javascript in a Javascript
environment, or Java in a Java environment. There isn't really a runtime
or language barrier.
Accessing native code form the Haxe C++ target is more difficult, due to
the nature of C++, but for other languages/targets, accessing something
native is as simple as an untyped call, a typedef or an extern. That's
very different from the PhoneGap or Titanium style of development.
I suppose the benefits of Haxe depend on the platform.
A developer may choose Haxe because they prefer it over Javascript, as it
offers strong types and many more features. I enjoy Neko for command-line
tools, because it is fun to write and is easy to use and multiple
platforms.
Combined with NME, Haxe is a compelling solution for games and
applications, especially on mobile platforms. Apart from the benefits of
adapting a single application to multiple platforms and even target
languages (C++, SWF bytecode, Javascript), the command-line tools abstract
a lot of the complexity that's involved in supporting each target.
Somehow, it may make sense to communicate that Haxe is adaptive. Rather
than forcing each platform to work "the Haxe way," it adapts itself to be
a good citizen on each platform and in each language. Rather than
excluding features, Haxe was designed (as a language) to allow for
cross-platform code without compromise. Instead of using its own runtime,
it converts to use whichever environment you prefer -- native compiled
C++, SWF bytecode, Javascript, etc.