Python Script: Run two different commands that depend on 3D View update
You should be using frame_set

import bpy

def obj_pos(obj, frame):
    bpy.context.scene.frame_set(frame)
    print("frame:", frame)
    print("object location:", obj.location)

me = bpy.context.active_object
frame1 = bpy.data.scenes["Scene"].frame_start

obj_pos(me, frame1)

frame2 = bpy.data.scenes["Scene"].frame_end

obj_pos(me, frame2)