grazie per l'aiuto, partendo proprio da queste risposte ho fatto delle ricerche è ho scoperto che con SQLite non posso usare DELETE CASCADE

sebbene qui c'è descritta la procedura per ovviare a questo tramite un Trigger http://www.sqlite.org/cvstrac/wiki?p=ForeignKeyTriggers credo che nel mio caso due query Delete separate vadano + che bene.

Il punto che non ho chiaro per ora è:
-come faccio a cancellare la giusta riga nella tabella "ordini". La giusta riga sarebbe quella che non ha righe correlate nella subtabella (le righe nella subtabella sono state cancellate con la prima query)

qualcosa tipo
Codice PHP:
DELETE FROM ordini WHERE creazione 3600 <= ".time()." and (subtabella non esiste