Without the iLogic you're actually only getting 126 characters.
In this more complex situation, using iLogic does make a lot of sense. However, you might want to consider stepping back to my #2 proposed option from earlier.
The expression that is being written here is longer than its results would be. For example, in the expression <Elbow_OD> takes up considerably more characters than the result, which may be as little as two characters (ex. 1"). So if the code pulls the text string from the Custom iProperty instead of writing the entire expression, the result that gets fed back to the Description field will be shorter.
For simplicity, going back to your bar example from earlier, the code could be something like:
ODProp = iProperties.Value("Custom", "OD")
LENGTHProp = iProperties.Value("Custom", "LENGTH")
iProperties.Value("Project", "Description") = "BAR, ROUND, " & ODProp & " x " & LENGTHProp & " LG."
In this example, the iProperty Expression would be the following, which includes 32 characters:
=BAR, ROUND, <OD> X <LENGTH> LG.
The Description pushed out from the iLogic code would be the following, which includes 28 characters:
BAR, ROUND, 1” X 3 1/16” LG.
This example only shaves off 4 characters. However, your more realistic elbow example has both longer parameter names and more of them, so the reduction in length would probably be more noticeable.