The problem here was that when a Grease Pencil datablock is shared between the 3D view and another one of the editors, all the strokes were getting handled by the editing operators, even if those strokes could not be displayed/used in that context. As a result, the coordinate conversion methods would fail, as some of the needed data would not be set. The fix here involves not including any offending strokes in such cases...