This is a poor way to do this allocation. It should really be done the same way the census allocates congressional seats (and electoral votes) to the states, which I believe is the "truncate-plus-largest-remainders" method described earlier.
In the case of CO above, both Nader and Gore were much closer to getting the final electoral vote than Bush, yet it is still awarded to Bush.
With a large field, the distribution could get even stranger.
Consider a 5-candidate field in a state with 10 EVs:
A - 36%
B - 24%
C - 14%
D - 13%
E - 3 %
Under the "Colorado" system, the EVs would be allocated like this:
A - 6
B - 2
C - 1
D - 1
E - 0
While under the "truncate-plus-remainder" system, they would work out this way:
A - 4
B - 3
C - 2
D - 1
E - 0
Which seems much more logical to me.
Congressional approtionment uses the method of equal proportions which is based on the geometric mean and depends upon each state getting at least one representative. However you could use it for proportioning the electoral votes of a state if the you set some other method for determining when a candidate gets his first electoral vote. The easiest way would be to use 1 as the multiplier to determine the priority value of the first electoral vote for that candidate. (The multiplier for the nth vote is 1/sqrt(n(n-1)) which is the same as used for the nth representative that each state gets.
For the five candidate race you gave, the method of equal proportions gives the same result as the truncate plus remainder method, but that would not be the case for all possible results.