The check on the existence of a return statement at the end of functions with a non-void return type is too strong. E.g. int f() { if (i<2) return 1; else return 2; } is a correct function definition. Yet UPPAAL complains about the last statement (which is the if- statement) not being a return statement.
Fixed on the trunk (rev. 1451).