Если речь идёт о GDI+ в виде System.Drawing.dll, то можно вполне обойтись более простым методом.
System.Drawing.dll не использует статической компоновки. Видимо, как и положено, используется DllImport-директива .NET. Поэтому, можно вызвать любой метод из System.Drawing.dll, который будет использовать gdiplus.dll, и отловить исключение.
Конечно, если говорить о чистом unmanaged C++, это не катит: .NET может на системе отсутствовать, а GDI+ присутствовать, например в WinXP.