Auto-start should respect maintenance mode. If any host or service (meaning it's host components) or component is in maintenance mode, the auto-start directive should be ignored.
Maintenance mode is ignored at host and service level. If you mark a host as in maintenance mode, and then restart the host, the services marked for auto-restart are started on that host. What should happen is those services should be ignored and excluded from auto-restart as the host is in maintenance mode. Currently, auto-start respects maintenance mode on component level alone.