I can't reproduce any such variation using 2.6.27.21-170.2.56.fc10.x86_64 myself. Off hand, it seems more likely there is some authentic variation between runs for whatever reason than that this has something to do with ptrace.
Have you tried making your program look at the tracee's PC every time (use PTRACE_GETREGS or PTRACE_PEEKUSR) and emit it so you can compare two differing runs a little more meaningfully? Thanks, Roland