This is more of a Max topic than a ZB one, but so long as the forum moderators tolerate a Max-filled post, I’ll try to help you out.
I’m at home right now rather than at work, so I don’t have Max 7 to refer to here, but I’ll try to do this from memory.
First of all, make sure you have Max 7, not an earlier version. This is a new feature. It’s part of the “Render to Texture” dialog, so if you F1 in Max for the help, and look for “Render to Texture” you should be able to get details about it.
Anyhow, here’s the basic workflow. Build a low poly object in Max, making sure to UV map it properly. None of the UVs should be backwards, because the normal map will light improperly, so use something with numbers or letters on it as a UVing image. While it is possible to overlap UVs on identical parts, I would recommend detaching them later on before you project, just to avoid problems such overlapping sometimes causes. If it has hard edges that you want to preserve for ZB, then Meshsmooth it a few times with obey smoothing groups selected. Now export the model to ZBrush as an OBJ. Or instead you could build totally different high poly geometry for sculpting, which is often better than just subdividing, then bring that over. No need to UV map the high poly stuff.
Make it pretty in ZB, then import it back to Max as an OBJ. It might be best to set your viewport to Bounding Box before bringing it in if it’s really high poly. Line up the high poly model to occupy approximately the same space as the low one. With the low selected, go to “Render>Render to Texture.” The Render to Texture Dialog is actually a rather deep thing, so if you haven’t used it, you’ll have to consult the help file for everything.
The difference between the traditional Render to Texture and what you want comes from a box halfway down the dialog which lets you Enable Projection. Click that, and hit the Pick button. From the list select the high poly geometry that you want to project from. Now go to the Options button, and make sure to turn off Cage. Cage Projection sounds like a wonderful feature, but it never ever works. Ever. Really, I don’t know why they included it in the Max 7 release. I think it was just to taunt us. But offset is just fine for most things.
Lower in the dialog you can choose which maps to project to, including a NormalsMap, which has an option to put the height data in the alpha if you want it, and you can project anything else you want as well. This is particularly nice if you want to put a Skylight in the scene with shadows, so you can project all the soft radiosity shadows to a texture as well, although that’s very slow.
Make sure the path at the top of the dialog is configured to put the rendered maps where you want them, and all the options concerning the maps are to your liking, then hit the Render button at the bottom.
I recommend testing it at a low resolution, then when you’re satisfied, kick it up to 2048 or whatever. It’s surprisingly fast - even with over a million triangles, maybe a few minutes for a low res (256) normal map. It’s never taken me more than an hour to render a 2048.
Max ray casts between the high and the low poly one, which works much more accurately than the ZB normal map creator (see my earlier post), and has the added benefit that the high poly object doesn’t have to be a subdivided version of the low one. So for example you can make each button on a person’s shirt an actual cylinder with geometrically perfect hard circular edges (modeled in Max), while still being able to sculpt in all the folds of that shirt in ZBrush.