It sounds like you are creating a custom report using New Window() rather than creating a JMP Dashboard using the Dashboard Builder. If that is the case, if you look at the contents of the JRP file, it basically looks like this:
New Table( "name",
...
) << Run Formulas;
New Window( "report 2",
H List Box(
...
)
);
In other words, it is really just trying to rewrite your script for you, and running your original script is probably a better solution for several reasons. Lack of support for multiple tables is one, but there are other things that may be done in your script that cannot be fully captured by looking at the static report.
You may want to consider creating a journal (Ctrl-J on Windows) of the report window and saving the journal. A journal of the report will not be fully interactive, but it also does not require any tables to be open in order to show the content.
The response would be very similar for a JMP Dashboard - the Dashboard Builder will better handle the multiple data table issue (although it does not have an "embed" option - it can reference tables by path or name). But if you look at the JRP file for a saved JMP Dashboard, it essentially contains the full JSL definition of the Dashboard:
JMP App(
Set Name( "Dashboard" ),
Set Description( "Two reports arranged horizontally" ),
Dashboard Mode( 1 ),
...
) << Run;