So, your problem is that all your conditions return a value, but the last else is returning a string. Crystal does not allow this.
You could do a couple of things to address this. Change the last else statement to read:
else 0
Then format the formula to suppress zeros. That seems the most straightforward.
You could also do the following: Modify the existing formula to use the ToText function, as in:
If ({crItemTRX.UOFM} = "BOX OF 2"

then ToText({crItemTRX.QTY}*2,0)
This would cause all return values to be strings. If you want to show decimal places, change the ",0)" at the end of the function to be whatever number of decimal places you want (e.g. ToText({crItemTRX.QTY}*2,2) would show 2 decimal places). The downside is that you would not be able to use this formula (easily, at least) in other summaries/formulas. So, if you need to summarize the numbers, you would actually need your original formula, modified to return 0 for the last statement, placed on the report, but most likely suppressed (and use that formula for the summaries and other formulas) and then the formula that just returns strings placed on the report for display purposes.