You're correct that every SaveChanges call is transactional. I'm not sure I understand the problem here, however.
For one, you don't have to call SaveChanges for every entity, but can instead save the chosen (or all) entities when ready. So here, you can create the parent and all children and then call SaveChanges() or SaveChanges(IEnumerable).
Next, if you do want to save the parent, and then later save the children, I don't understand what error you're getting, or is your question theoretical? If theoretical, DevForce does not directly support multiple SaveChanges calls within a single transaction. If your application is 2-tier you can open a TransactionScope around your SaveChanges calls and everything within will be saved or rolled back together. If your application is n-tier this is much harder.
In general, instead of looking to transactions you should really be treating the parent and its children as an object graph and saving that graph with a single SaveChanges call.