Amazed it let you program it with the reset pin pulled high so hard (direct to the 5V rail) like that. Are you sure it was directly connected?
An AVR chip's ICSP program loading procedure is utterly dependent on the chip having the reset pin pulsed in a certain way to get it ready to accept a program about to be loaded in to it.
Usually one puts a pullup of the right sort of size (I had a thread about what this size is, 10K to 1K is definitely an ok range) from Reset to the 5V power rail, then wires the Reset pin directly to a free header pin which can be wired to the toggling pin of a programmer or to a reseting button (shorts to Gnd when pressed) or a resetting input wire to reset the ATTINY during operation if ever necessary.
An AVR will happily run a program with Reset at 5V, but to program it you need Reset to be connected to an outputting pin on your programmer (pin 10 on an uno in the case of using an uno as an ISP using the ArduinoAsISP sketch) which will pull it low at the right times in the right pattern to put the AVR in a state to accept a program being loaded on to it.
It seems that when it programs Attiny85 without complaining I just rushed into seeking an answer.
But now I noticed that the code is not working properly but it works partially by the way .
After you highlighted that it must somehow be driven by pin10 of Arduino UNO for the special pulse configuration for programming, I connected it manually (I am using UNO to program) and the code is now functioning properly.
Your topic has been moved to a more suitable location on the forum. Please see the sticky topics in Uncategorized - Arduino Forum why you should not post in "Uncategorized".