What is the actual value of the ApplicationHandle when you try to retrieve it? It might be a trust issue: "for full trust for the immediate caller. This member cannot be used by partially trusted code.". Check it out here: http://msdn.microsoft.com/en-us/library/system.diagnostics.process.mainwindowhandle.aspx
To simply test if this is the issue, right click your application and execute it as administrator to see if notepad is then moved as you requested. If so, you know what the problem is.