One possibility...
Offset path behaves differently on open paths and open compound paths. A regular open path is offset from the path itself, whereas a compound path is treated as if the path was closed (notice the erroneous path connects the two end points of the original path).
Take these two otherwise identical paths for example:
There shouldn't be any need for a compound path if it's just a single path, so release any compound paths. If you do need compound paths though you may need to release the compound path, offset, then re-create the compound path again.