We are an OEM of machine vision gauges. With CameraLink, we could use different brands of cameras with one particullar framegrabber and one common piece of software. Genicam should give us the same, but the fact is now that with each GigE camera brand comes a different SDK. The effort for for the software is increasing and becomes too much (we are using own C++ code and no large libs like CVB or Halcon), that is really a dark side of the new standard. How can we overcome this?

There are quite a few vendors providing GigE Vision SDKs working with all compliant cameras (for example NI, Matrox, and Stemmer).
Nevertheless most camera vendors provide there own API which is often locked to their own products to deliver a better quality of service, e.g. in terms of CPU load.