GetObjectContext.CreateInstance is obsolete in COM+
CreateInstance was necessary in COM to provide a COM object activation mechanism that could be hooked by the MTS runtime before the activation request reached the COM runtime. So that MTS could apply some pre and post activation magic to put a wrapper around the real object and return this wrapper to the client.
This was due to the fact that MTS was not integrated with COM but ws built on top of COM.
COM+ has now embodied within its runtime the required interceptions mechanism, so there GetObjectContext.CreateInstance is no more necessary, still this syntax is still supported for backward compatibilities.
Nevertheless I suggest you to make conditional builds that use GetObjectContext.CreateInstance or Createobject according to your target OS.