I recently changed the signature to reflect the rest of lwjgl.
The buffer supplied is now checked for its position, and limit to determine how many images to create.
However, judging from the nehe 06 code, everything should work fine? - position should be 0 and limit should be 1, thus producing 1 image. Indeed the GL11.glGenTextures(buf); called a bit below, uses the same syntax, and has always worked fine... Have you confirmed that it used to wrok fine on mac os x ?