I assume you are using WKSWORK2 as WKSWORK1 is not available after 2007.
I think the variable CLASSWKR (the D implies use of the Detailed codes) holds the answer to your question. If you perform a crosstabulation between CLASSWKRD (the D implies use of the Detailed codes) and WKSWORK2 for individuals with a value of 0 for INCWAGE, most of the individuals reporting working any weeks will either be “Self-employed, not incorporated” (CLASSWKRD==13), or “Unpaid family worker” (CLASSWKRD==29). It makes sense for these individuals to have made zero income from wage or salary. Most of the remaining cases are people who reported being “Not in Labor Force” (LABFORCE), which may indicate that there was a mistake made during the completion of the survey.
I hope this helps.