How to change object geometry over time in the same model from the command line?
Well, I still can't find a way to change an object, but I did find out how to delete the current object and create a slightly altered object for every frame. 

The key is to use bpy.app.handlers:

import bpy, math

#remove all default objects
bpy.data.objects['Cube'].select = True
bpy.data.objects['Camera'].select = True
bpy.data.objects['Lamp'].select = True
bpy.ops.object.delete() 

#Define box
verts = [(0,0,0),
         (0,0,0),
         (0,0,0),
         (0,0,0),
         (0,0,0),
         (0,0,0),
         (0,0,0),
         (0,0,0),
         ]
faces = [(0, 1, 2, 3),(4,5,6,7),(0,4,7,3),(1,5,6,2),(0,1,5,4),(3,2,6,7)]
edges = []

my_mesh = bpy.data.meshes.new('Meshy')
my_object = bpy.data.objects.new('Objey', my_mesh)
bpy.context.scene.objects.link(my_object)

my_mesh.from_pydata(verts, edges, faces)
my_mesh.update(calc_edges=True)

def change_geom(scene):
    #assign frame number
    f = bpy.context.scene.frame_current
    #assign vertex values
    d = 5*math.sin(f/1000*180/3.141592)
    z = 1+math.sin(f/(250)*180/3.141592)

    #delete previous geometry
    bpy.data.objects['Objey'].select = True
    bpy.ops.object.delete() 

    #create new geometry
    verts = [(-d,d,z),
             (d,d,z),
             (d,-d,z),
             (-d,-d,z),
             (-d,d,-z),
             (d,d,-z),
             (d,-d,-z),
             (-d,-d,-z),
            ]
    faces = [(0, 1, 2, 3),(4,5,6,7),(0,4,7,3),(1,5,6,2),(0,1,5,4),(3,2,6,7)]
    edges = []

    my_mesh = bpy.data.meshes.new('Meshy')
    my_object = bpy.data.objects.new('Objey', my_mesh)
    bpy.context.scene.objects.link(my_object)

    my_mesh.from_pydata(verts, edges, faces)

#calls the function every time you change frames
bpy.app.handlers.frame_change_pre.append(change_geom)


Still looking to find a way to alter existing geometry instead of re-creating it (which is way less efficient)!