I gotta give them credit though, their magnetic power cord connector is nice. I haven't gotten to play with the multitouch pad either, that might be nice.
Not sure what display problems you refer to (honestly curious), both my MBP and MB seem to have displays as good as any other laptop. My other hobby is digital photography (Canon EOS5D, L glass, etc.), so I'm working with Aperture or Photoshop a lot, the only "display" issues I'd note is that the laptop LCDs don't calibrate as nicely as my external Apple cinema displays.
1. Look for cheaper Linux laptops from Dell or HP. I get the feeling that the laptop as we know it is going to change significantly within the next couple of years, at the very least with solid-state hard drives, so why bother with a top-of-the-line machine right now? And, you'll probably be making a lot more money once you're out of school, so you'll be tempted to splurge then anyway.
2. Get one of these newfangled ultra-portables like the Asus eeePC or Everex Cloudbook. (I've been eying the Cloudbook myself.) If this programming thing becomes a habit for you then you might also develop the habit of collecting computers. In that case you could have a "serious" (but still semi-cheap) desktop computer at home, with a decent-sized display and hard drive, do most of your work on it, and also use it as a server of some sort in your home. The ultra-portable would be for, ya know, laptop stuff.
(Disclaimer: I'm laughably frugal, and my company also supplies me with a real laptop -- a Thinkpad R61 -- which I like.)
[0] iBooks seem to break the BGAs on their video chips a lot anyway, but I don't think any new Apples have that problem.
If you get a macbook then you don't have easy access to right or middle mouse buttons on the standard hardware. This sucks for linux. My experience of configuring X to hack keyboard buttons into being extra mouse buttons has been mixed, and I'd recommend thinking long and hard about buying an Apple for linux purposes. Sure, you can get an external mouse, but you could also just get a thinkpad.