Hi Cleo,
I have tested your scenario on my machine its working fine for me.
I have created Direct DSO and filled it using APD from query, Data available in Direct DSO.
I have create standard DSO (Normal steps not used template) ,mapped the fields using transformation between Direct and standard DSO.
Created and scheduled the DTP and it extracting the records.
Thanks
Aakash