Okay, I've now found examples of this problem in the native capture:
$PTA,400620,NPT521P,,,,,,,,,,17
$PTA,400620,,,,,,,,,,,11
$PTA,400620,,16000,,,,,,,A,,4
$PTA,400620,,-1200,,,,,12.0127,0,A,,17
$PTA,400620,,,,,,,,,A,6005,21
$PTA,400620,,-1200,,,,,12.0127,0,A,,17
$PTA,400620,,16000,,,,,,,A,,20
$PTA,400620,,16000,,,,,,,A,,20
$PTA,400620,,,,,,,,,A,6005,21
$PTA,400620,,-1200,,,,,12.0127,0,A,,17
$PTA,400620,,,,,,,,,,,11
$PTA,400620,,-1200,,,,,12,0,A,,17
$PTA,400620,,16000,,,,,,,A,,0
$PTA,400620,,-1200,,,,,12,0,A,,17
$PTA,400620,,,,,,,,,,,11
$PTA,400620,,-1200,,,,,12,0,A,,17
$PTA,400620,,16000,,,,,,,A,,20
$PTA,400620,,16000,,,,,,,A,,20
$PTA,400620,,16000,,,,,,,A,,20
$PTA,400620,,-1200,,,,,12,0,A,,17
$PTA,400620,,,,,,,,,,,11
$PTA,400620,,16000,,,,,,,A,,0
$PTA,400620,,-1200,,,,,12,0,A,,17
$PTA,400620,,16000,,,,,,,A,,4
$PTA,400620,,16000,,,,,,,A,,4
$PTA,400620,,-1200,,,,,12,0,A,,17
In this example, it appears to be getting a negative altitude (-1200) from DF17 messages. The altitude from DF4 and DF20 looks okay.
Hopefully this will help Airnav diagnose the problem and develop a fix.