I don't wanna tell anyone how to do their project, but a suggestion....check out this project:
http://forum.arcadecontrols.com/index.php/topic,156300.200.html
It's basically taking a typical skee-ball and gutting the electronics and replacing with a PC. Framework sounds similar to .NET but is supposedly possible on Mac and Linux as well as Windows and *should* be possible to make run on an RPi. So you get pretty graphics and a fairly easy multi-platform setup on relatively cheap hardware. You also get wifi and such which means it's very easy to do high score uploads, networked versions of the game, etc. You know, down the road.
Should be relatively simple to do the hardware using mostly things from the DIY 3D printer community.
This is the kind of project I like to follow but probably won't ever have time to monkey with. That said, my other input is simply this: ICB/ZP, while neat and somewhat collectible, also have value on the market *mostly* due to rarity. If you've ever owned one you would know the sad truth and that is that it's actually a pretty easy game to master and then get COMPLETELY bored with.
So I *personally* wouldn't bother with a clone unless you have and plan to implement ideas for making it more interesting. One would be timed modes, which would be *somewhat* more interesting for the advanced player, but I have a feeling even that would get boring after a while. In thinking about it, to me the only thing I've come up with that might make it MUCH more interesting would be adding doors that open and close to the playfield rather than just having holes. Then the difficulty level and possible paths can change dynamically (some). Just my thoughts...
Another idea is one or more fixed location "stoppers" that could be raised on the bar to divide the bar into segments. And then multiple balls end up on each segment. Combine this with some sort of network mode and multiball setup where you're trying to get a ball to a target before a player on a different machine does and that causes the OTHER player to get an additional ball to deal with (sort of like how two player Tetris sends your completed line to the other player as an incomplete line). I dunno, just thinking out loud.
Obviously you don't start implementing this game with ALL these ideas at once, but thinking about how you might extend it in the future will keep you from boxing yourself into a hole with the code quite as much, too.
--Donnie