Spring.net ExpressionEvaluator doesn't know about .net Nullable types, so it doesn't try to find and invoke GetValueOrDefault method because of SomeNullableFinanceField is null.
If SomeNullableFinanceField is not null, it tries to invoke GetValueOrDefault on SomeNullableFinanceField value (decimal).
You should modify you expression:
ExpressionEvaluator
.GetValue(
finance,
"SomeNullableFinanceField != null ? SomeNullableFinanceField : 1");
or
ExpressionEvaluator
.GetValue(
finance,
"{SomeNullableFinanceField, 1}.nonNull()[0]");