He might be refusing because he feels like a failure, because he kept spilling it before.... What we did with our son when he was learning to use a cup was to give him a cup to play with in the bath. That way he could spill it and it wouldn't matter. I know some people dont't like their kids drinking bathwater though, but if it doesn't have any bubbles or soap in it I think it's OK.
I've known other people whose kids wouldn't use an open cup until they were 4! But if you have a cup to practice with in the bath, he might decide to use it on his own once he gets to school and sees the other kids using an open cup.