here is what i read -
firstsortedvalue( [ distinct ] expression [, sort-weight [, n ]] )
returns the first value of expression sorted by corresponding sort-weight when expression is iterated over a number of records as defined by a group by clause. Sort-weight should return a numeric value where the lowest value will render the corresponding value of expression to be sorted first. By preceding the sort-value expression with a minus sign, the function will return the last value instead. If more than one value of expression share the same lowest sort-order, the function will return NULL. By stating an n larger than 1, you will get the nth value in order. If the word distinct occurs before the expression, all duplicates will be disregarded.
" from HELP.
so probably your second criteria is being treated as [, n] here, that is it is supposed to return the nth value in order (preceding with '-' sign leaving it with nothing as output- while its a numeric value causing it with NO ERROR).
its purely what i guess.