To be honest, I'm not a fan of the cleanup messages. The idea behind them is to send direct "make sure you did your scene" messages to every module in the scene after the global scene broadcast is sent. The problem is if you have more than 2 or 3 modules in the scene and you are having reliability problems with some modules not receiving the scene command then a better approach would be to just send the scene broadcast command 2 or 3 times. It would be much faster and arguably just as reliable. For example, say you have 20 modules in a scene and 2 or 3 of them cannot always receive the first attempt of a command. With cleanups the result will be 1 global scene command + 20 cleanup commands + possibly some retried of the any cleanup commands that might fail. That is a ton of traffic, and it would be just as reliable to just blast out the global scene command 2 or 3 times.
Anyhow, climbing off of my soapbox, I think in Indigo the cleanup command preference really shouldn't be global given its utility varies based on how many modules are in the scene. It should probably live at the scene or action level so that folks can only enable it if there are just 2 or 3 modules in the scene, or so Indigo can intelligently disable it in those cases.
So that is the main reason why Indigo ignores the the pref when the API is called – it isn't very useful and how Indigo uses it needs to be redesigned.