I've used Adobe Scout to track a bottleneck or two and I think it's a brilliant profiler, especially when compared to the one built into Flash Builder.
I have some functions that I'd like to optimize, but I'd rather avoid using getTimer() or anything like that - I want to optimize in the current context. Considering that the environment is completely repeatable (ie. the game state can be run to such a point, that each subsequent play calls exactly the same functions), what is the best way to compare different optimizations using Adobe Scout? Is it even possible, or should I set to do this task from a completely different direction?
You can run your code multiple times with each changes and Scout will record each session. You can then flip between sessions comparing the time spent in your function using the ActionScript sampler. If you want more accurate times, you can use the Telemetry API to add a custom metric to your function. (Telemetry.sendSpanMetric() - see Custom Telemetry). This will record your function times with exact microsecond accuracy and show it in Scout.