El SDK es acrónimo de Software Development Kit. Un SDK es un conjunto de herramientas (i.e. compilador, enlazador, depurador, librerías, encabezados de archivos, binarios) para poder desarrollar con una plataforma o tecnología en particular. Va más allá del API.
Así, el SDK de Windows es todo lo necesario para desarrollar aplicaciones para Windows. Y en toda la extensión de la palabra: trae los encabezados para emplear el API, trae componentes, etc etc etc.
Para programar en Windows, necesitas un SDK. Visual C++ ya viene con el SDK incluido. Con esto, puedes integrar la programación en Windows con algún otro compilador u otro IDE inclusive.
El API de Win32 está en C, así que lo puedes integrar a C# de forma fácil a través del atributo [DllImport]. Si tienes el Visual Studio, ya tienes instalado un SDK. Ahora la plataforma .NET cubre muy bien al API de WIndows, por lo que sólo en ocasiones muy particulares tendrás que trabajar directamente con el sistema operativo.
Saludos.