I am currently working on a specification for a software component which will synchronize the product catalog of an ecommerce company with the Amazon Marketplace using Amazon MW
As I understand it for all other feeds other than the Product feed the products in question must already be on the catalogue, so your first possibility is the correct one.
However, this should only affect you on the very first run of the product feed or when you are adding a new product, as once the product is there you can then run the feeds in any order, unless you are using PurgeAndReplace of your entire catalogue each time which is not recommended.
The way I would plan it is this.
1) Run a Product Feed of the entire catalogue the very first time and wait for it to complete.
2) Run the other feeds in any order you like.
3) Changes to any of the products already on Amazon can now be done in any order. e.g you can run the price feed before the product feed if all you are doing is amending the description data etc
4) When you have to add a new product make sure you run the product feed first, then the other feeds.
If possible, I would create a separate process for adding new products. Also, I think it will help you if you only upload changes to products rather than the entire catalogue each time. It's a bit more work for you to determine what has changed but it will speed up the feed process and mean you're not always waiting for the product feed to complete.