This is a classic. Your CATIA declarations (settings) are not "correct". The result is when you save your model the smart-solid-info is lost, your solid will become "unsmart".
Contact your admin to solve this. The correct declaration is:
catcmd.PROJ.BRANCH_SOLID.FILE : LOGICAL;
catcmd.PROJ.BRANCH_SOLID.FILE = TRUE;
Workaround in the meantime:
In the part editor press the right mousebutton at the lower part of the tree. Select "smart", then perform an update and your function is back...until you save your work again! Daaahh!