TBH, I don't think that ever would have worked (though it seemed like a good idea at the time).

Even if it worked, it would have prevented users from editing their pages, as donshakespeare pointed out.
Department of Duh: $modx->resource is the NewsPublisher page and it's never going to have been created by a non admin.
This could possibly work (combined with the &ownPagesOnly property in the NP snippet tag):
<?php
/* Keep non-admins from creating more than one Doc */
$sorryChunk = 'NpSorryOverLimit'; // Name of chunk telling them they're out of luck.
$pageLimit = 1;
if (! $modx->user->isMember('Administrator')) {
/* Don't act if user is editing an existing page */
if (!isset($_SESSION['np_doc_to_edit'])) {
/* Check the user's page count */
$userId = $modx->user->get('id');
$count = (int) $modx->getCount('modResource', array('createdby' => $userId));
if ($count >= $pageLimit) { /* They've already created at least one page */
$msg = $modx->getChunk($sorryChunk);
die ($msg);
}
}
}
npSorryOverLimit chunk:
<h3>Sorry, you're limited to creating a single page, and you've already done that<h3>
If the output is too ugly, you could redirect to a "Sorry" page, as in the original. Let me know if this works and I'll consider building it into NewsPublisher.