How to supress TMinuit warnings and retrieve FitStatus

This is only a partial answer to your questions, but perhaps it will be sufficient until an expert gets back to you:

You can suppress output by doing:

ROOT.RooMsgService.instance().setGlobalKillBelow(ROOT.RooFit.FATAL)

where FATAL can be replaced by ERROR, WARNING, INFO, etc., depending on what output you want to see.

The status codes are detailed in this post:

You can, of course, check the value of the code instead of printing it.

I don’t really understand this part of your question. If you’re not worried about seeing WARNINGs, you can use the setGlobalKillBelow function mentioned above.