Your first solution seems to work (haven't tested it extensively though), but how does the alternative to goal completed that you've provided work? Do you not need to define DB_UlfredTriggered somewhere somewhere before hand?