Salut,
Il y a pas deux n à connerie ? Ou alors c'est un jeu de mot ?
La SDL et les API windows sont des bibliothèques, pas des langages.
On peut appeler une dll depuis du jscript si et seulement si elle est COM/ActiveX. On peut faire des dlls COM en C, en VB6... Mais ce n'est pas évident à réaliser en C. D'autre part, les navigateurs sont configurés pour refuser ce type de scénario pour des raisons de sécurité.
On ne peut pas appeler une dll C# depuis du C. Une dll C# (On parle plutôt d'assembly) est en langage intermédiaire, rien à voir avec le natif généré depuis le C. Par contre appeler une dll C depuis du .NET, c'est possible (Se documenter sur PInvoke).
Globalement, le plus portable pour une dll, c'est une dll exposant des fonctions avec la convention d'appel stdcall, et ne prenant en argument que des types simples. Faut se calquer sur l'API Windows en fait.

En fait les dll de l'API windows sont directement utilisées ou utilisables dans de nombreux langages.
De cette manière, la dll est utilisable, en VB6 (Declare ...), VBA, VB.NET, Delphi, C# et j'en passe.