Luke's answer of using the GP function should work. You should be able to rec/post the changes with that GP tool. However, I bet that the reason that you are not seeing the changes is that whatever client you are using to see those changes (ArcGIS Server, ArcMap, your own custom tool, whatever) has not called IVersion2::Refresh and thus is still pointing to the previous database state. You can force a call by using that interface or closing and opening the workspace. The changes should then be visible.
You have to remember that database version changes still use a polling (vs pushing) mechanism, so if, for example, the underlying database state changed and you try to edit it without calling refresh, you may encounter an error (that is unless the underlying Workspace::StartEditing code has been updated to force a refresh in its internal implementation) because the client still thinks that the version is pointed to an old state id.
To better understand the relationship between Versions and State IDs, I recommend you read this document. It may be long, but it will be worth it in the long run!