Been using FeatureWorks since the beginning, since parts are so different you may get 10% to 90% of what you need and forget about free form. What i have learned is get as much as you can, then make new features that are in the places that don't work from the extracted features, use the old to place but don't make relations to them after you get what you want delete the extracted stuff.
you will get better the more you use, but because it is trying to figure out how to get it in a resonable tree structure by working in reverse and sometime it is a crap shoot, hell how many times have you had to figure out how someone else built a part.!!!!!!!!!!!!!! some are built for SH!T so how do you think this little program will do it perfectly if we have a hard time.
FeatureWorks is not a fix all it's a let's get as much as it can, perfect it is not but something is better than nothing...
and yes rebuliding is always the best, part in a part or assembly , new part extract edges and planes without external relation turned on.
Thanks for the clarification. I just wanted to make sure I was not missing something before I start plowing through lots of parts.