The SolidWorks system uses the OLE Document Properties API. As you've pointed out, Microsoft offers a sample, DSOFile.dll, that allows you to access these properties:
http://support.microsoft.com/kb/224351
The SolidWorks API also has robust support for these properties, but you have to load Solidworks to use the API, so it's not always the ideal solution. Note that if the file is already open in Solidworks, however, you won't be able to edit custom properties using DSOfile.dll.
The simple answer to your question is that there isn't an updated API for these properties; much the same way many other legacy APIs (DDE, for example) continue to appear in production environments, DSOFile suits the need and honestly wouldn't be entirely appropriate for update due to its fairly low-level nature. DSOFile, however, is perfectly capable of handling your needs and it works quite cleanly with .NET. The source is available and can be compiled to 64 bit if that is an issue for your users; it does mean you need a separate 64 bit install, but that's a small price to pay (plus SolidWorks isn't exactly cross-bitness-friendly to begin with).