Apart from method calls not being optimized, are there any other issues?
A difference I have noticed is that default compiler generated methods (e.g. operator=) in the class appear either in the exporting dll (if dllimport is used by the client) or in the client binary (if dllimport is not used). In this latter case, it's almost as if part of the class is defined in the dll, and part in the client's binary. Are there any issues with this?