Lo que te quiero decir es que los archivos .ico no son "un" icono, son en realidad un contenedor de imágenes de distintos tamaños (16x16, 32x32, 48x48... 256x256, etc). Cuando le dices al Windows que te muestre el icono de un acceso directo a un tamaño determinado, éste carga la imagen dentro del contenedor que más se acerca al tamaño que tu quieres que se muestre. Si éste tamaño no existe en el contenedor o por una razón u otra está mal formado, sucede lo que muestras en la imagen.
Muy probablemente el icono que estás intentando cargar no tenga esa resolución (512x512). Tendrás que buscarte un .ico que disponga de la imagen a esa resolución.