problemas con el manifest, consigue un archivo manifiesto básico y colocaselo al debug del programa como : 
miprograma.exe.manifest 
donde 
miprograma es el nombre de tu aplicación 
aqui te dejo uno simple:  
Código:
 <?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
<assemblyIdentity
name = "miprograma.exe"
processorArchitecture = "x86"
version = "1.0.0.1000"
type="win32"
/>
<description></description>
<dependency>
<dependentAssembly>
<assemblyIdentity
type="win32"
name = "Microsoft.Windows.Common-Controls"
version = "6.0.0.0"
processorArchitecture = "x86"
publicKeyToken = "6595b64144ccf1df"
language = "*"
/>
</dependentAssembly>
</dependency>
</assembly>
  luego en el main del programa realiza una llamada el EnableVisualStyles:  
Código:
 [STAThread]
		static void Main() 
		{
			Application.EnableVisualStyles(); //<-- esta es la linea que necesitas
			Application.Run(new Form1()); //detpende de tu programa
		}
  esto resuelve muchos inconvenientes de los windows forms, no sólo para darle la apariencia del XP, también funciona para el problema del imagelist y un sinfín de controles en MDI