Hi @Ainaskid,
As you noticed creating a new column does not generate a "source" script in the table the way subsetting or importing does, but the JSL to recreate the column is actually there, accessible via scripting by sending the <<Get Script message to the column itself. I do this so often I put together an Add-in (Copy Script for Selected Column(s) to Clipboard) that will copy the column recreation script to the clipboard so you can use it in other code you're writing to script a workflow. Hopefully this helps some!
@julian
edit: Also, after rereading your post I'd like to clarify what the "source" script you're running refers to. Actions in JMP that produce a table (like importing, subsetting, summarizing, etc) will save a script to the created table and call it "source." As you perform other actions in JMP that script is not updated -- it is there just so you have the jsl for that one action you did that created a table. So, if you're trying to script an entire workflow, what you will want to do is make a new blank script (File > New > New Script) that you use to hold all the script pieces you need to recreate your entire workflow. For example, you would want to place your import script in there (right click the source script > edit, then copy-paste that code to your new windows), then your script for creating your new columns (using my Add-in, or writing the jsl yourself as Jim suggested), then the subset script you get after taking a subset (which will be in the source script you have in the new table after performing the subset). If you're looking to see some of this process in action, I gave a webinar on scripting a scientific workflow in JMP that might be helpful.