Ivan, thanks again for your time and attention.
I updated OSX, but I think it was a xcode update. In any case, one of the things that I did try to debug was reinstall opam switch and clear out my environment already, but I'm not 100% positive that I did that in a clean order, so I'll repeat that. Additionally, what I can immediately observe is that a with-c example from oasis builds immediately. If I drop in my .c file (actually a c++ target, with -xc++ in CCOpt) into that project renamed and try to compile it, even with no ml modules, I get the same compile errors. This establishes that a .a file, produced and linked by ocaml with nearly identical build steps, works correctly and can be accepted by ld. ld won't stop ignoring the archive file produced under _build.
So among the things that I have done was to make sure that the path environment was consistent regarding the host compiler made visible to ocaml and opam, rebuilding my switch, changing to a different switch to build with, altering my target between x64 to x32 for the underlying linkage to the c++ library I'm trying to use, and manually inspecting the object and archive files for the target architecture. Tonight I'm going to get my homebrew, port and opam packages entirely reinstalled.