Ich hab's hier jetzt mal getestet - der Hook wird zwar aufgerufen, aber es kommt *NIE* WM_WINDOWPOSCHANGING an. Erschwerend kommt hinzu, dass nur die Meldungen der eigenen Anwendung abgefangen werden und nicht die systemweiten (die Ursache dafür wird wohl die sein, die ich beim letzten Mal beschrieben habe: unterschiedliche Prozesse, unterschiedliche Adressräume).
Ich habe gerade mal in
Ollis Hook-Tutorial geschaut, von dem er schon ein paar Mal geschrieben hat. Er geht da ziemlich ausführlich auf die Inter-Prozess-Kommunikation bei global Hooks ein, um die du auch nicht herumkommen wirst. Also solltest du dir dieses Tutorial mal zu Gemüte führen.
[Nachtrag]
... und natürlich erst mal den Hook finden, mit dem du WM_WINDOWPOSCHANGING abfangen kannst.