Well this is what I tried - with success ...
I had an Attiny85 to hand, not an Attiny45 - but it's the same datasheet.
Orange: Attiny85 pin 5 (MOSI) to Mega pin 51
White: Attiny85 pin 6 (MISO) to Mega pin 50
Red: Attiny85 pin 7 (SCK) to Mega pin 52
Green: Attiny85 pin 1 (/RESET) to Mega pin 53
Blue: Gnd
Other red on right: +5V
47uF cap between Mega /RESET and Gnd
Decoupling 0.1 uF cap on breadboard.
Other components not connected (from earlier test).
Loaded ArduinoISP from Examples in the 1.0 Version of the IDE.
Hit reset button on the Mega. Waited till flickering stopped.
Sent command:
avrdude -c arduino -p t85 -vvvv -P /dev/tty.usbmodemfd141 -b 19200
Got response:
avrdude: Version 5.8cvs, compiled on Jan 15 2010 at 17:27:01
Copyright (c) 2000-2005 Brian Dean, http://www.bdmicro.com/
Copyright (c) 2007-2009 Joerg Wunsch
System wide configuration file is "/usr/local/CrossPack-AVR-20100115/etc/avrdude.conf"
User configuration file is "/Users/nick/.avrduderc"
User configuration file does not exist or is not a regular file, skipping
Using Port : /dev/tty.usbmodemfd141
Using Programmer : arduino
Overriding Baud Rate : 19200
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Send: 0 [30] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
AVR Part : ATtiny85
Chip Erase delay : 4500 us
PAGEL : P00
BS2 : P00
RESET disposition : possible i/o
RETRY pulse : SCK
serial program mode : yes
parallel program mode : yes
Timeout : 200
StabDelay : 100
CmdexeDelay : 25
SyncLoops : 32
ByteDelay : 0
PollIndex : 3
PollValue : 0x53
...
Programmer Type : Arduino
Description : Arduino
avrdude: Send: A [41] . [80] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [02]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [81] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [01]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [12]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [98] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
Hardware Version: 2
Firmware Version: 1.18
Topcard : Unknown
avrdude: Send: A [41] . [84] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [85] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [86] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [87] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [89] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [00]
avrdude: Recv: . [10]
Vtarget : 0.0 V
Varef : 0.0 V
Oscillator : Off
SCK period : 0.1 us
avrdude: Send: A [41] . [81] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [01]
avrdude: Recv: . [10]
avrdude: Send: A [41] . [82] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [12]
avrdude: Recv: . [10]
avrdude: Send: B [42] . [14] . [00] . [00] . [01] . [01] . [01] . [01] . [03] . [ff] . [ff] . [ff] . [ff] . [00] @ [40] . [02] . [00] . [00] . [00] [20] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: please define PAGEL and BS2 signals in the configuration file for part ATtiny85
avrdude: Send: P [50] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude: AVR device initialized and ready to accept instructions
Reading | | 0% 0.00savrdude: Send: u [75] [20]
avrdude: Recv: . [14] . [1e] . [93] . [0b] . [10]
Reading | ################################################## | 100% 0.04s
avrdude: Device signature = 0x1e930b
avrdude: Send: V [56] P [50] . [00] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [e2]
avrdude: Recv: . [10]
avrdude: safemode read 1, lfuse value: e2
avrdude: Send: V [56] P [50] . [00] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [e2]
avrdude: Recv: . [10]
avrdude: safemode read 2, lfuse value: e2
avrdude: Send: V [56] P [50] . [00] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [e2]
avrdude: Recv: . [10]
avrdude: safemode read 3, lfuse value: e2
avrdude: safemode: lfuse reads as E2
avrdude: Send: V [56] X [58] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [df]
avrdude: Recv: . [10]
avrdude: safemode read 1, hfuse value: df
avrdude: Send: V [56] X [58] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [df]
avrdude: Recv: . [10]
avrdude: safemode read 2, hfuse value: df
avrdude: Send: V [56] X [58] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [df]
avrdude: Recv: . [10]
avrdude: safemode read 3, hfuse value: df
avrdude: safemode: hfuse reads as DF
avrdude: Send: V [56] P [50] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 1, efuse value: ff
avrdude: Send: V [56] P [50] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 2, efuse value: ff
avrdude: Send: V [56] P [50] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 3, efuse value: ff
avrdude: safemode: efuse reads as FF
avrdude: Send: V [56] . [a0] . [01] . [fc] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: Send: V [56] . [a0] . [01] . [fd] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: Send: V [56] . [a0] . [01] . [fe] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: Send: V [56] . [a0] . [01] . [ff] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: Send: V [56] P [50] . [00] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [e2]
avrdude: Recv: . [10]
avrdude: safemode read 1, lfuse value: e2
avrdude: Send: V [56] P [50] . [00] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [e2]
avrdude: Recv: . [10]
avrdude: safemode read 2, lfuse value: e2
avrdude: Send: V [56] P [50] . [00] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [e2]
avrdude: Recv: . [10]
avrdude: safemode read 3, lfuse value: e2
avrdude: safemode: lfuse reads as E2
avrdude: Send: V [56] X [58] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [df]
avrdude: Recv: . [10]
avrdude: safemode read 1, hfuse value: df
avrdude: Send: V [56] X [58] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [df]
avrdude: Recv: . [10]
avrdude: safemode read 2, hfuse value: df
avrdude: Send: V [56] X [58] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [df]
avrdude: Recv: . [10]
avrdude: safemode read 3, hfuse value: df
avrdude: safemode: hfuse reads as DF
avrdude: Send: V [56] P [50] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 1, efuse value: ff
avrdude: Send: V [56] P [50] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 2, efuse value: ff
avrdude: Send: V [56] P [50] . [08] . [00] . [00] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [ff]
avrdude: Recv: . [10]
avrdude: safemode read 3, efuse value: ff
avrdude: safemode: efuse reads as FF
avrdude: safemode: Fuses OK
avrdude: Send: Q [51] [20]
avrdude: Recv: . [14]
avrdude: Recv: . [10]
avrdude done. Thank you.
So it all works. Now you just need to work out where you differ from those steps. 