Beh... confrontare il valore assoluto e verificare che sia maggiore di zero non è proprio la stessa cosa... infatti nel primo caso lo zero viene considerato naturale.

codice:
return ((int)n == n) & (n > 0)
anche se nn sono sicuro che 0 non sia un numero naturale...
secondo Peano no, secondo altri sì...boh