Since it's part of the save RAM I was thinking maybe there is at least one case in the game where you load a game and character objects are already present on map thus requiring their position. Can't think of any example though.

(5:00PM): Or did you meant clearing $0869-$086E for objects $00-$0F on game reset? I'm not sure when the game update into $1FD3-$1FF2 but if at game load $1FD3-$1FF2 is used to fill $0869-$086E the problem would maybe be there. I'll try to get a better grasp on all this with a debugger. An ASM solution would be more elegant than an event edit.

(2:00PM): I came out with an event fix requiring 21 bytes in free space and modifying 12 bytes in original event. Basically I call a variance of CB/0072 at the same spot that only created objects. Then I use object $04 queue further down to call the second subroutine that show object $04 in-between its two queues. I separated its queue into two to respect the original event flow (command E0 when object is already shown). Then I show objects $01 and $05. No FD command(s) used as filler!
CA/FDE4: B2 Call subroutine $D1F9D0
CA/FE62: B2 Call subroutine $D1F9D8
CA/FE66: 41 Show object $05
CA/FE68: 41 Show object $01
D1/F9D0: 3D Create object $04
D1/F9D2: 3D Create object $05
D1/F9D4: 3D Create object $01
D1/F9D6: 45 Refresh objects
D1/F9D7: FE Return
D1/F9D8: 04 Begin action queue for character $04 (Actor in stot 4), 4 bytes long
D1/F9DA: D5 Set vehicle/entity's position to (20, 28)
D1/F9DD: FF End queue
D1/F9DE: 41 Show object $04
D1/F9E0: 04 Begin action queue for character $04 (Actor in stot 4), 3 bytes long (wait until completed)
D1/F9E2: E0 Pause for 4 * 1 (4) frames
D1/F9E4: FF End queue
D1/F9E5: FE Return