I'm not sure why this is, but selecting stuff in edit mode only works using bpy.ops.select_all() or execute the code in object mode and the switch back to edit mode.
where ob is my armature object:
ob.data.bones['Bone'].select_tail = True
works if you're in object mode and then press tab in the viewport.
import bpy
arm = bpy.data.armatures['Armature']
bpy.ops.object.mode_set(mode='OBJECT') # .select only has an effect in object mode (don't ask me why)
for bone in arm.bones: # deselect the other bones
bone.select = False
bone.select_tail = False
bone.select_head = False
arm.bones['Bone'].select_tail = True
bpy.ops.object.mode_set(mode='EDIT') # go back to Edit Mode, to see the results