Hmm. OK, heres a possible solution: add a child object to the on-the-fly object before you scale it. Translate the child object to the position of the vertex you are interested in. Then scale the on-the-fly object. Then print out the child objects position.
Code:
l = viz.add( 'logo.wrl' )
b = l.add( 'ball.wrl' )
b.translate( 1, 0, 0 )
def onkeydown(key):
l.scale( 3, 3, 3 )
print b.get( viz.POSITION )
viz.callback(viz.KEYDOWN_EVENT,onkeydown)