frame_change_pre.append(handler) doesn't work
From link below: "By default handlers are freed when loading new files. In some cases you may want the handler to stay running across multiple files (when the handler is part of an add-on for example)."
You may need to use the persistent decorator:

import bpy
from bpy.app.handlers import persistent

@persistent
def my_handler(scene):
    print("Frame Change", scene.frame_current)

print("test")
bpy.app.handlers.frame_change_pre.append(my_handler)


see https://docs.blender.org/api/blender_python_api_2_60_6/bpy.app.handlers.html