For future internet trawlers searching after a solution, here is mine:
SOLUTION
Use
system('Terminal input string')
to access terminal functionality in MATLAB. This allows MATLAB to run C programs without ever having to interact with this mex nonsense. This method DOES prevent passing variables or vectors directly from C into MATLAB (you would need to save a file in C, then read that file into MATLAB) but it does work wherever you have working C code.
NOT A SOLUTION BUT POSSIBLY USEFUL
As for how far I got on making mex work... Mex will not work directly on C files. You need to build a wrapper to call the C function. This cute fact is a significant number of links and google searches through the MATLAB documentation but can be sorta found here. The following trivial function (saved in the model folder) gets me most of the way there:
\*function mexWrapper*\
#include "mex.h"
void mexFunction( )
{ cModel(); }
Using mex('cModel.c' 'mexWrapper.c') in MATLAB will now cause errors solely due to the cModel call inside mexFunction needing defined input variables to match main() in cModel.c's file. I have not bothered to solve that (the C model I'm working with makes that complicated), but hopefully future readers find this useful.