Pete,
.Net is becoming a serious platform.
The free downloadable express editions enable a lot of people to start on programming or pick-up programming again.
The .Net "common language runtime" provides a foundation for language interoperability. Because all .Net languages can follow the common type system rules, the usage of types can be consistent across languages.
Would you consider to make a .NET DLL containing FSUIPC_Open, FSUIPC_Read, FSUIPC_Write, FSUIPC_WriteS, FSUIPC_Process, FSUIPC_Close ?
You can write and maitain it in "C" but every one who wants to use an other .Net language can also use it.
For you this probably is not a major step, but it would be a giant leap for us .Net "hobby" programmers :D
Regards, Herman.