Hola, creo que te vas a complicar mucho haciendo un navegador desde cero. Por lo que cuentas hay una incompatibilidad con XP, pero supongo que esa imcompatibilidad podría desaparecer usando una versión más antigua de Lazarus y Free Pascal, usando fpcupdeluxe puedes instalar una segunda instalación (y una 3ra. también) de Laz/FPC y seleccionar las versiones que te permitar usar TShellTreeview y TShellListView para XP.
Saludos.