Made a behemoth of a model, I ensured background geoprocessing was enabled in ArcCatalog, and that the model was also set to be allowed to run in the background. Also, all of the tools that the model calls had their properties set to background processing, and all of the layers were set to be parameters (as stipulated at http://resources.arcgis.com/en/help/main/10.1/index.html#//001500000021000000).
Alas, it would not run in the background. I then did some testing. First, I ran the �??OD Cost Matrix Layer�?? tool from ArcCatalog�??s toolbox and it ran in the background. Cool. I then made a test model using the same tool-
Not cool. The model ran in the foreground. Any idea why this would be?
One other thing that is curious is that the option to toggle between running in the foreground or background is greyed out / disabled for all of the ArcToolbox tools (although the 'Always run in the foreground' option is unchecked for all of the tools that I have been using). Not sure whether this is normal or not?
You're correct on all your points, however it runs fine in the background for me when in a model. Are you running from the Modelbuilder window? That will always appear to run in the foreground. You need to save the model, close it, and open it as a tool (model tool) for it to run in the background.
You cannot change the setting for foreground/background, or any other properties for system tools. However, like you've noticed, this tool will work in the background. The model itself has a property to allow it to run in the foreground, do you have that one unchecked?