Technically you should be able to bring any generic DLL into Simulink via an S-function block, but I'm not completely confident that you won't have any issues doing so with a Simulink Coder generated DLL. You will mostly likely be able to get this done for normal mode simulation, but I'm afraid that there might be multiple definitions of types that will clash when you generate code from the model and use the S-function in non-inlined mode. Essentially, you might see a file called rtwtypes.h created with the DLL - a header will the same name is produced when generating code from any model. The trouble is that rtwtypes.h contains generic platform-independent types, but may also include user-defined types, fixed-point types, etc. So you might need to combine the 2 rtwtypes.h files. (Please take my advice with a grain of salt because I haven't tried this myself - this is mostly speculation)
Is there a reason why you can't simply generate an S-function from the first model and use the generated S-function in the second model?