Yes, we recommend using JMP to save scripts after achieving the desired result through the interactive interface. It is a great way to jump-start your own code or learn the JMP Scripting Language. It can help you quickly achieve some level of automation when using JMP. On the other hand, this approach only goes so far. It is a best practice, not a complete solution.
Note: I don't know which part of the book you refer to, but that recommendation generally applies to the analysis layer layer of a platform object. These commands mimic what is available while performing the analysis, such as the commands found in the context menu that appear when you click a red triangle. Customizations work with the report layer of the object and require communication with the display boxes in this layer. (Think: obj = dt << Bivariate( ... ); // reference to analysis layer, rpt = obj << Report // reference to report layer;)
Yes, Send to Report and Dispatch are still intended for JMP to save scripts and capture as much of the object's state as possible so that JMP can create a new instance later. Customization of the user interface through coding is supposed to rely on using the protocol for each display box and a set of supporting functions. This approach is documented and promoted in the JMP Scripting Guide and the Scripting Index.
You may either use the Send to Report mechanism or send messages directly to display box objects. It seems to be a personal choice as to how much of each approach suits any user.
Regardless of your chosen approach, please continue to use the Community when you have questions about scripting JMP.