Hi Mark,
I have been learning how to build models and script tools myself the last few weeks. One thing I read in the ArcGIS Help is that in order to string tools together, including Spatial ETL tools, you need an output to use as a precondition for the next tool. You can't connect tools to tools as preconditions, just variables to tools. One option is to create a Boolean output parameter and set it to True or False depending on whether or not the script is successful. I have been creating a parameter called Successful. You can set it by using the function arcpy.SetParameter at the end of the script. Boolean preconditions will extend the process flow as long as they are True. You can even create two output parameters one for True and one for False. This would allow you to have two separate handles in the model to work from. For example, I made a short script tool to check if a data element exists. The tool is called Exists and produces a True output parameter and a False output parameter, only one being True, each with opposite values. This lets you have two separate workflows if a data element exists or not.
I would recommend getting the book on Model Builder from Esri Press. Model Builder is somewhat tricky. The most important things I have learned the last few weeks are that types are important in Model Builder. Inline variable substitution is very useful, but doesn't work the same with all tools. Always think about what type the tool needs. Some tools seem to be more flexible than others. If all else fails, I have used the Calculate Value tool to process strings and output the exact type I need. Also, intermediate data is really important. Uncheck any outputs that are marked as intermediate data if you want them. I spent three hours the other day trying to figure out why my model runs all the way through and then my file geodatabase disappears.
Although it is visual, Model Builder is functional programming and it is easier to organize when I think of it that way.
Hope that helps.
Nathan