How to Screen Sharing / VNC to an iMac without waking the display?
OS X Lion added per-user screen sharing: the ability to have multiple remote desktop sessions active on a single Mac at the same time. It's not a perfect solution, but you may find it good enough for your case.

When you connect to your Mac via Screen Sharing make sure the session is in Control Mode, not View Mode. You can switch modes by pressing Cmd+Option+X in the Screen Sharing app.

Once in Control Mode, look under the View menu and you should see an entry that says "Switch to Virtual Display". Select that to change the session to a virtual display, not the current desktop display, and log in as yourself.

The main display on your iMac should go to sleep according to your screen saver and energy settings once you've disconnected your remote session from the physical display and moved it to a virtual display.

The only flaw in this approach is I know of no way to start Screen Sharing on a virtual display from the get go. So the initial connect always wakes up the physical display.

Update for Mavericks

The "Switch to Virtual Display" option in the Screen Sharing app went away in Mavericks. Instead, upon connecting to the other Mac with Screen Sharing:


  If someone else is already connected to the Mac as a remote user, a dialog asks if you 
  want to share the display with the other remote user (Share Display), or log in 
  concurrently using a different user name and screen (Log In). Choose the option you 
  want.
  
  If you choose Log In, you will share the Mac with the other remote user, but you won’t share the same screen.


Here's an example. In this case I tried to connect a Screen Sharing session from my iMac to my wife's MacBook Pro where she was already logged in. This is the dialog I get when trying to connect: