I think the main issue is accuracy. The chromaticities calculated by paint.NET from the ICC profile are a little off compared to the chromaticities used to define the profile in the first place:
paint.NET eciRGB
White x: 0.34576 0.34567
White y: 0.35858 0.35850
Red x: 0.67002 0.67
Red y: 0.33001 0.33
Green x: 0.20998 0.21
Green y: 0.71005 0.71
Blue x: 0.14000 0.14
Blue y: 0.08002 0.08
The sum of the Red x and y components is greater than 1, which they are not supposed to, hence the complaint from libpng.