I think the 200 is probably related to performance as well, beyond just disk space cost.
Also, persisting line flags across sessions means that they'll get restored to incorrect places if you edit the file in another editor or sync the file with a source control system. It also makes it more annoying when SE flags all lines as modified, it requires manual resets more often.
I think the 200 is in def_max_filepos, and can be increased up to 5000. Is easy to find: look up AutoRestoreLine flags in slick.sh, look for references for the line modify flag, bang you find the macro code and configurable constants, etc.