I'm trying to add Any Planet Start compatibility to my mod (https://mods.factorio.com/mod/SimpleSeablock) and I've found that even though I use remote.call("freeplay", "set_disable_crashsite", true) in my mod's on_init script, the crash site is still added when Any Planet Start is installed. Same with the intro cutscene not being skipped.
Taking a look at control.lua, I can see APS does try to honor any other mod that has disabled the crash site by reading get_disable_crashsite, but I think what happens is because APS copies the result of get_disable_crashsite into its storage object during on_init, then reads from storage during the player created event when it creates the custom crash site, this means that any mod that gets initialized after APS will never have a chance to disable the crash site and intro as it will be too late. APS has already read the global value and is now using its own copy. And any mod that takes a dependency on APS (optional or otherwise) will always be initialized after. Without a dependency, it's up to whatever order Factorio decides to load them.
Ultimately it's not the end of the world if there's a crashed ship out in the middle of the water, but it would be nice to be able to disable it. And I might be able to hook into the aps-post-init event, remove the crash site debris and explosions, and cancel the cutscene, but I thought I'd first reach out and see if you had thoughts on a more "natural" way to accomplish this.