What's wrong with reading the TDirectDrawSurface.TransparentColor property?