You can't get the dispatcher from C++ for Windows Phone 8: you need to move the call to the UI dispatcher on the C# side, not the C++ side.
If you can just do something like this:
class DotNetClass : IWindowsRuntimeInterface
{
void AlertCaller(string message)
{
Deployment.Current.Dispatcher.BeginInvoke(() =>
{
MessageBox.Show(message);
}
}
}