Using COM is not a Silver Bullet to cross-platform development. However COM *helps* you write portable software components given the methods that I describe in the article.
COM also allows you to express interfaces in an object oriented way which you might consider an advantage over regular C interfaces.
Endianess still has to be catered for and has nothing to do with COM.