in reply to wrestling with .NET application via perl

Use Win32::API. You can call any old Windows library function your heart desires using that, and OleInitialize should not be an exception for any reason I can think of.