Yeah, if you want to keep the original federalist system the states should have the right to cast their electoral votes as they wish. I guess the prerequisite would be that it's somewhat representative of the population's desire, otherwise the individual state may be too undemocratic to be part of the union.
I see the current situation as: in order to make the stakes higher and entice the candidates transfer more of their attention and cash to them most states have bet on a strategy winner takes it all. But that only works in a handful of them, where the R vs D numbers are close enough that can be influenced by that extra spending and attention.

I'm not sure that if NY decides to proportionate their electoral votes that'll make them more attractive place for campaigning. It'll still be a matter of a couple of votes, while more equally split state with winner takes all strategy could offer an order of magnitude more votes.

A good strategy for NY would be to have a weighted winner takes all policy, i.e. the take it all winner is the one who improves over the last election. It's like what incentive pay for top level CEO should be - they get it only if their company outperforms the market.
Then the party candidates will also have to compete not only with their current opponent, but also with their party's predecessor in the last election. So McCain will have to prove he's better than Bush and Obama, and Obama better than Kerry and Bush.