You need to plug in a controller before the game starts, or else the buttons are mapped improperly. You can unplug and reconnect while the game is still running and there wont be any issues. As for the freezing, I've never seen that before... Make sure your controller drivers are updated. You can also try using putting xinput_9_1_0.dll in your halo 2 folder to see if it fixes anything