I should elaborate a little.
As Rolig Loon and FalsusMendax mentioned physics models I should point out that the RV is mesh, and has been uploaded with a proper hollow physics/collider shape allowing avatars inside it. This is the physics shape the object uses when it's Physics are set to "Prim".
And as Xiija mentioned SLPPF, that's exactly what I'm doing but isn't/wasn't working properly.
It would seem that moving objects (Set to "Physical", vehicles or moving links with PRIM_POS) sets the object's Physics from "Prim" (our physics shape) back to "Convex".
This is normal for physics systems as hollow mesh collisions can be buggy.
The odd behaviour is that setting the Physics back to "Prim" via scripts once the object is no longer physical or moving doesn't seem to work.
Doing so in the Edit window works fine. And if done via scripts, the object remains as "Convex", but right-clicking the object afterwards seems to update the object's settings and the Physics=Prim change from the script finally takes place.
One fix I've found for this is using llSleep(1) to give your object a second to realise it's no longer moving/physical, THEN setting it to Prim via the script.
This is annoying as opening the RV door counts as object movement, so I can't simply open the door with SLPPF.
I have to set the door to it's open position via llSetLinkPrimitiveParamsFast()
Then llSleep(1) to give it time to realise the door has finished it's movement
Then another llSetLinkPrimitiveParamsFast() to set the physics shape back to Prim.
I'm not entirely sure if this is just a script latency issue, or an actual bug with physical objects.
The fact that setting the Physics shape to "Prim" via scripts doesn't work, but will apply once the object is selected would lean towards it being a bug though.
Hope this may help someone else with this issue in the future.