Since rows that contain all NULL values can happen in real life, the calls to checkEmpty() in addSortField() and removeSortField() seriously affect usability of Row, especially for iterating over RecordSets. Removing the check does not seem to have any consequences, as this is only used when comparing rows using operator < ().
There don't seem to be any issues with all null Row values, except if sorting (operator <()) is used, e.g. inserting a Row into a std::setPoco::Data::Row. Attempting to add a Row containing all null values to a std::setPoco::Data::Row will result in an Poco::InvalidAccessException() in operator < ().