I usually use COM reference to connect to CorelDRAW. Every version of Corel create specific interop dll (CorelDRAW Type Library and VGCore Type Library). If I want to change Corel version between X3-X6 then I must change those 2 dlls.
Of Course I can connect directly to any version of Corel using this:
Dim obj As Object
obj = DirectCast(Activator.CreateInstance(Type.GetTypeFromCLSID(New Guid(guidNo))), Object)
Where "guidNo" is as string with specific GUID to connect to specific Corel Version. It works but... I need to create object in CorelDraw types like "Shape", "Segment", etc.
If I will try to use existing CorelDRAW.Application object (for example from version X3) and connect to X6 using it then some things will no longer work. But It is strange that I can do anything using this method.