Kenneth,
One possible reason for the different packages could be that in essence the datasources in D and Q are different.
The datasource you transported was
DS_ECCDEV and this gets converted to DS_ECCQA with the source system conversion. With BI7 the concept of transfer structures and extract structures no longer exists which would imply that the extract structure / datasource really resides in the source system and all that you are transporting is the data flow upwards for the same.
For instance - you can have 20 datasources in ECC but use only 5 of them but then when you replicate the datasources for the source - you still see all the 20 even though you never transported the other 15.
The dependency when you collect the objects is to ensure that you collect the datasource so that when the data flow gets transported - you have a self contained transport - the dependencies for the transport are derived from the load programs where the transport connection program looks for objects required to activate this program in the target system and sees the datasource as a necessary object.
As for DTPs - it is recommended to have local delta DTPs because every now and then you will have a QA refresh which will wipe out all the original dependencies and cause transport issues. The key to DTPs is the GUID created for them ( also the technical name ). It is very hard to maintain sanity when all it takes to create a DTP in any system is a couple of clicks and even harder to explain to Basis and SQA if the transport fails!!!
I am not 100% sure on my explanation of the datasource issue... thought that it might be due to this....