I haven’t used cobol in a few years, but I think if you just perform <b>1000-process </b> then when the logic flow hits the next sequential paragraph name after 1000-process, it will return to the original calling point.
If you perform <b>1000-process </b> thru <b>1000-exit </b>, then it will process any/all paragraphs before returning to the calling point. You must ensure that the logic flow eventually gets to the <b>1000-exit </b> paragraph, otherwise, you will have lost control of the application logic (perform loop without a return condition).
I can’t provide an absolute answer to your second question except I think that the use of the program id has lost some of its relevence (from the original cobol language specification) and is more a convention, rather than fact. It’s good programming practice to have the same name in the progam-id field as well as the source file name.