What seems to be the problem with this rotation here (python-code) ?

I'm drawing an arrow from (x1,y1,z2) to (x2,y2,z2). Please see this and I hope you can explain what is going on...
Code :
def coordSysArrow(x1, y1, z1, x2, y2, z2):
    glPushMatrix()
    glPushAttrib( GL_POLYGON_BIT ) # includes GL_CULL_FACE
    glDisable(GL_CULL_FACE) # draw from all sides
 
    # Size of cone in arrow:
    coneFractionAxially = 0.2
    coneFractionRadially = 0.1
 
    # Calculate cone parameters:
    v = numpy.array((x2-x1, y2-y1, z2-z1))
    norm_of_v = numpy.sqrt( numpy.dot(v,v) )
    coneHgt = coneFractionAxially * norm_of_v
    coneRadius = coneFractionRadially * norm_of_v
    vConeLocation = (1.0-coneFractionAxially) * v
 
    # Construct transformation matrix
    mat44 = numpy.eye(4)
    normalized_v = v/norm_of_v
 
    mat44[0,0] = normalized_v[0]
    mat44[1,1] = normalized_v[1]
    mat44[2,2] = normalized_v[2]
 
    # -----------------------
    #   Draw line + cone
    # -----------------------
    # Draw single line:
    glBegin(GL_LINES)
    glVertex3f(x1, y1, z1) # from
    glVertex3f(x2, y2, z2) # to
    glEnd() # GL_LINES
 
    # Move and rotate in position:
    glTranslate( *vConeLocation )
    if 0: # turn on/off here
        #glLoadIdentity()
        glMultMatrixf( mat44 ) #  <===== PROBLEM HERE?!?! WHAT?
 
    # Make a cone!
    cone_obj = gluNewQuadric();
    # gluCylinder(gluNewQuadr, Radius_base, Radius_top,
    #               height, slices, stacks)
    gluCylinder(cone_obj, 0, coneRadius,\
        coneHgt, 8, 1);
 
    glPopAttrib() # GL_CULL_FACE
    glPopMatrix()
As you can see I've made an option to disable using the mat44-matrix. When I disable it, the cone gets drawn but the rotation is wrong. When I enable it, the cone is NOT drawn... Am I multiplying with a wrong rotation matrix and does that explain why nothing gets drawn?

There are no errors/warnings or anything... I don't understand this...