Hi Alan,
I've done this for a few objects and it works fine. We have a specific role setup that allows analysts to manage objects with custom functional access.
Once you create a new functional access in the UI you can use WSP to change the object to use it.
Also worth mentioning CA doesn't support messing with functional access, even though you can do it in WSP.