I've finally gotten it to work thanks to my web designer colleague who spent a long time teaching himself about actionscript on the fly.
This is the code that managed to actually do what I needed to, incorporating the layer name into the code seemed to make it work, that's possibly what I was supposed to do in the first place but this is what worked:
import fl.transitions.Tween;
import fl.motion.easing.*;
import fl.transitions.TweenEvent;
function tweenCount(scope:Object, start:Number, end:Number, duration:Number, ease:Function, updateCallback:Function = null, finishCallback:Function = null):void
{
scope.count = 0;
var tween:Tween = new Tween(scope, "count", ease, start, end, duration, true);
if (updateCallback != null)
tween.addEventListener(TweenEvent.MOTION_CHANGE, function():void{updateCallback(scope.count);});
if (finishCallback != null)
tween.addEventListener(TweenEvent.MOTION_FINISH, function():void{finishCallback(scope.count);});
}
tweenCount(this, 1500000, 2000000, 1, Linear.easeInOut, function(count:Number):void{Layer_4.txt0.text = uint(count)}, function(count:Number):void{trace("txt0 finished at: ", count);})
This was placed in the first frame I wanted the animation to trigger, and then in subsequent frames when I wanted the number to increase I copied the final line and changed the values.