Zum AVR-OSP II kann ich dir nichts sagen. Ich flashe den Bootloader mit einem Galep 4 Programmer.
Ich denke, du hast dir diese Anleitung angeschaut.
http://www.microsyl.com/megaload/MegaloadforAVR.pdf
In den ICC Options musst du die Größe des Bootloaders auf mindestens 512Byte einstellen (ich habe wahrscheinlich 1024Byte verwendet). Die gleiche Größe setzt du auch für die BOOTSZ Bits in deinem Programmer.
Ebenfalls muss BOOTRST gesetzt sein! und die CKSEL Bits müssen zu deinem externen Takt passen (wahrscheinlich 1111, ohne es nachzuschauen).
Deine Anpassung in dem Projekt sehen OK aus. Benutzt du wirklich den UART1 und nicht 0?
Je nach dem wie dein Programmer es darstellt, solte der Loader ganz hinten im Flash stehen. Die vorderen Adressen werden nachher mit deinem Programm gefüllt.
Wenn ich in meinem Programmer das Hexfile öffne, wird es direkt an die richtige Stelle gesetzt. Da muss ich nichts mit Boot start address=$1FC00 einstellen, da das Hexfile die "Position" beinhaltet an der der Loader anfängt.