Hmmm, I haven't looked at this properly on my own machine, but is it possible your types are getting mixed up? The struct definitely does use a word type, but if your function is taking a value of a different type, things might be getting mangled. Try defining the types in your statement definition:
Code:
Statement LaunchSample {track.w, period.w}
just in case they're defaulting to something else. Typically the default in Blitz is quick, which should cast to word without issues, but it can be changed.