Below's the COM client written in native C++. It does two things:
1) Get's updated value of a variable from COM Server, which indeed works fine
2) Calls C# code(that accesses .csv file via OLE, easier in C#) and here's the problem. I have converted C# code into Program.dll library and then to Program.tlb and registered the type library. Copied Program.tlb, so that the below COM client can access it.