Hi Ryan;
Both SQL mechanisms have their advantage. For example, issuing a TRUNCATE TABLE can be a lot more effective than individual DELETE statements. It all depends what your objectives are at that point in the business transaction and the expediency you desire are that moment in the processing.
Normally, the DW is the most effective data retrieval & update mechanism vs inline SQL for data lists and multiple column updates. Where the DW falls down is in multi-table updates as you have already encountered. When dealing with 2 or more tables, the DW can only be set to one of those tables for update in the DW painter. The fact that your DW did not update at all is because you never set the Update Properties settings - thus, no updating at all.
In the case of multiple table updating, you have two choices: a) perform the Update ( ) method multiple times and with each iteration, change the update properties under script control (as Terry pointed out) or b) use one DW per table. You can place the three DW's on one Window and use a common key to retrieve related table information. Then its just a case of issuing three simple Update ( ) commands (one per DW) to complete the DBMS updates. This is a lot less scripting than option "A".
In either case, the order of your table updates must comply with the parent/child (foreign key) relationships in your DB. That being said, its no difference in multi-table update complexity whether you coded it in VB vs Java vs C#, etc.
Regards ... Chris