AFAIK by default Windows XP enables the no-exec protection only for "essential Windows programs and services". I couldn't find what that means but it's described as if it is a fixed list of Windows system binaries. The protection can enabled for all programs (except for a list provided by the user) in System Properties > Advanced > Performance > Data Execution Protection. Then when a program executs data it is killed and a dialog like this is shown: http://img.microsoft.com/library/media/1033/technet/images/prodtechnol/winxp... . After clicking Change Settings the list already contains the buggy program and it's enough to check the checkbox for the program to work the next time. AFAIK this OptOut mode is the default for Windows Server 2003. Apart from these OptIn and OptOut modes by a manual change of system boot params it's possible to set AlwaysOn and AlwaysOff modes. Also the documentation says that the DEP is always enabled for x64 programs regardless for the NoExecute setting.
Mikolaj Zalewski