There could be a number if situations to cause what you are describing but here are the most common.
1) the employee status is inactive
2) the employee has another check in process
3) the check or advice slip has already been printed but the batch did not release
4) the total hours for the employee are actually negative resulting in no check
Issue 1 can be checked by pulling up the employee on the employee screen but I suspect you have already checked for this.
Issue 2 is a bit harder to check for. There are several status fields in the employee table that can be looked at. Take a look at CurrBatNbr, CurrCheckCalc, CurrCheckPrint and CurrNet. CurrBatNbr will show a check batch that has not yet been kept. CurrCheckCalc is a 0 if no check has been calculated and 1 if it has. CurrCheckPrint will be 0 if the check has not been printed and 1 if it has. CurrNet will be the net check amount.
Issue 3 can be detected by seeing if the batch shows under Release PR Batches.
Issue 4 can be determined by the check preview (which you did not indicate that it showed a zero check so this is probably not your issue).
You did not indicate whether the employee was set up for direct deposit or not but, if they were, check the direct deposit status to make sure they are not still in pre-note status (in which case a paper check is still required).