Não posso responder à pergunta de por que ele funciona no XP e não no Vista, mas quando você vê essa mensagem de erro associada a um script muito grande, geralmente significa que o lote de consultas é muito grande para o parser lidar.
Existe algum
GO
declarações nesses scripts? Se não, provavelmente é isso que está causando a falha. Mais de 1 MB é muito grande para um script SQL que não foi dividido em lotes. Ou coloque algum GO
instruções lá ou (melhor ainda) dividi-lo em scripts menores.