Good news! The blink sketch is running on the 164p using optiboot. I eventually found a successful configuration with the following :
############################################################
atmega164p.name=Sanguino W/ ATmega164p
atmega164p.upload.protocol=arduino
atmega164p.upload.maximum_size=15872
atmega164p.upload.speed=115200
atmega164p.bootloader.low_fuses=0xFF
atmega164p.bootloader.high_fuses=0xDC
atmega164p.bootloader.extended_fuses=0xFD
atmega164p.bootloader.path=atmega
atmega164p.bootloader.file=optiboot_atmega164p.hex
atmega164p.bootloader.unlock_bits=0x3F
atmega164p.bootloader.lock_bits=0x0F
atmega164p.build.mcu=atmega164p
atmega164p.build.f_cpu=16000000L
atmega164p.build.core=arduino
atmega164p.build.variant=standard
##############################################################
Kind of a hybrid of our two respective entries. I have to admit I still don't really know what quite a few of them actually mean, but it works regardless. The build.core line as 'standard' would not compile at all for me, so needed to use 'arduino'. Yes the ic pin 1 does give a quick double-blink on reset. I also don't really know anything about the fuse settings, so you may think changing them would be better.
Thanks again for all your help. Hopefully there are others out there like me that'll find this thread useful in the future.