Why “half past” and not “half to”?

Solution 1:

If you make it a matter of personal preference you will defeat one of the purposes of language, which is to make your meaning clear to your listeners or readers. If no one else says half to, you may find that you will be asked to repeat what you have said in some other way. There is also a more direct risk of confusion. In British English, at least, half followed by an hour is used by some to mean half past [hour].

It's perhaps worth adding that in German, by contrast, half followed by an hour does mean 30 minutes before the hour named. Halb eins is not 'half past one', but 'half past twelve'. So there's no cognitive reason why time can't be expressed in this way.

Solution 2:

The convention is that we express the time in terms of the hour that it's closest to. "A quarter past nine", not "three-quarters to ten"; but "twenty to ten", not "forty past nine".

"Half past" is, of course, exactly in the middle. The convention is that we say "half past" rather than "half to".

Sure, there would be nothing technically inaccurate about saying "half to". But as Barrie notes, the purpose of language is to convey meaning. If you don't follow standard conventions, it is more difficult for others to understand what you mean. I wouldn't say that you should never break the conventions. But I would say that you should only break the conventions when you have a specific reason to do so, like when you are trying to emphasize something or make a specific point.