This is a followup to a previous question.
I am trying to obtain estimates related to poverty by race from IPUMSUSA based on ACS 20122016 5year sample (e.g., the percentage of African American children below the poverty level within a certain PUMA). Due to the small PUMA geography, the race/ethnicity stratification, and the fact that I am only interested in children <18 living in poverty, my cell sizes are quite small in some cases.
I have tried 2 approaches:

Using strata/cluster/person weight. I recognize that this will give slightly smaller standard errors. However when I did this, all estimates that were equal to 100% had a standard error equal to zero. This seems strange, since the numerator/denominator for all of these observations (the weighted frequency) was less than 200. For such small numbers, it seems suspect that the SE would be 0. Do you have any insight as to why this is happening?

When I tried using replicate weights (see SAS code below), I received an error message in SAS that my replicate weights are either missing or negative. It turns out many of them are negative. What does this mean, and how should I deal with this?
proc surveyfreq data=set1;
table race*poverty;
weight PERWT;
repweights REPWTP1REPWTP80 / jkcoefs= 0.05 ;
run;
I have read the IPUMS technical documentation for replicate weights and could not find an answer to the meaning of negative replicate weights.
Thank you!