If you have never used FBO check out this good write up (FBO 101)
I think FBO would increase performance overall, since you would not have to copy the depth data. I cannot say that with 100% confidence though, since I don't have all of your code.
Check for any GL errors before AND after each snippet of your code, especially these ones:
glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT, 0, 0, KRenderedTextureSize, KRenderedTextureSize, 0);
[Edited by - WilyCoder on March 8, 2007 11:10:29 AM]
glTexImage2D(GL_TEXTURE_2D, 0, GL_DEPTH_COMPONENT24_ARB, KRenderedTextureSize, KRenderedTextureSize, 0, GL_DEPTH_COMPONENT, GL_FLOAT, NULL);
Have you considered rendering to an FBO (and attaching a render buffer to catch the depth in a texture?)