Link objects do not get updated until later on in the update cycle. There are a few ways to deal with this.
1) Register your callback with a priority greater than viz.PRIORITY_LINKS
2) Manually update the link before retrieving the values from the bone:
Code:
link.update()
print sensor.getEuler(), bone.getEuler()
3) Retrieve the euler values directly from the link:
Code:
print link.getEuler()