Die beste Lösung wäre wohl:
Du kannst am Anfang der Datei zwar 'using HTags = IntPtr;' schreiben, aber das gilt nur für die Datei.
Das musst du dann eben in jeder Datei schreiben. Alternativ geht ja immer noch:
Verwende einfach IntPtr statt HTags.
Das sind jetzt zwei Wege, die relativ gut sind, und funktionieren sollten. Dass man einen Pointer noch typedef'd, damit man das richtige übergibt, ist eben typisch C++ und weniger C#. (Ein typedef Pointer ist eben immer noch ein Pointer und da könnte immer noch quasi alles dahinter stecken.)