The field collection is passed to layer_add when creating new fields. For edit however the certain field model is passed.

BTW: we should get back the naming convention fieldModel and fieldCollection to avoid confusion.