Buscando en Google para dar seguimiento a mi corazonada inicial, encontré una fuente que considero lo suficientemente confiable como para citarla en una respuesta.
El parámetro 'valor' especificado no es una de sus columnas, es el argumento opcional para sp_cursor que se llama implícitamente a través de su INSERT INTO... SELECT.
Desde SQL Server Central ...
Tenga en cuenta el tema común aquí entre su situación y la citada:un millón de columnas.
Esa misma fuente también ofrece una solución alternativa.