Practical/common approaches to 'using' threadsafe functions for simple shared variables?

Sorry, I don't follow your 'problem'. I built a genuine pre-emptive multi-process, multi-task system with six physical CPUs and shared memory. I don't recall doing anything like you mention, BUT any 'shared' variables went in shared memory using homemade linked lists, queues, etc.
It may be clearer if you posted some sample code, specifically of something that doesn't work, so you can get suggestions as to how to fix it.
My gut feel is there is no issue but I may be missing your point.