Benjamin. It's the most classic, and the friendliest.
Bennett is just a surname to me, and makes me think of 'bin it'.
Benedict is okay - I knew a very nice one, always called
Ben, with a bunch of sibs that also had obscure saints' names - but it's quite pompous and very Catholic, and if it were me I'd much rather be a
Benjamin.