Firstly, AutoAddClientPath modifies the path on the workers to match the path on the client. This works only when the client and the workers can see the same code at the same location. (On Windows for example, this means that the code must be available on a UNC share). If the code is found via that mechanism, there's no need to attach it explictly.
As well as explicitly adding files using the AttachedFiles parameter, note that the parpool infrastructure attempts to attach files automatically when they are needed (when this happens, you'll see a message like "Analyzing and transferring files to the workers ...done"). You can see what has been attached using the listAutoAttachedFiles method of the pool, like so:
>> listAutoAttachedFiles(gcp())
Files automatically added to the parallel pool:
pfeg.m
I don't know of any particular problems using the setup you describe.