Wow, this site is a greeat deal more helpful than it was half a year ago.
Looking in the VX version of Spriteset_Map, I can see two bits of code that pertain to panoramas.
 #--------------------------------------------------------------------------
 # * Create Parallax
 #--------------------------------------------------------------------------
 def create_parallax
  @parallax = Plane.new(@viewport1)
  @parallax.z = -100
 end
and
 #--------------------------------------------------------------------------
 # * Update Parallax
 #--------------------------------------------------------------------------
 def update_parallax
  if @parallax_name != $game_map.parallax_name
   @parallax_name = $game_map.parallax_name
   if @parallax.bitmap != nil
    @parallax.bitmap.dispose
    @parallax.bitmap = nil
   end
   if @parallax_name != ""
    @parallax.bitmap = Cache.parallax(@parallax_name)
   end
   Graphics.frame_reset
  end
  @parallax.ox = $game_map.calc_parallax_x(@parallax.bitmap)
  @parallax.oy = $game_map.calc_parallax_y(@parallax.bitmap)
 end
There's also a 'dispose of parallax' section, but we don't want that. Update Parallax seems to have the equivalent of what you're suggesting ("@parallax.ox = $game_map.calc_parallax_x(@parallax.bitmap)"), but it's relating the updating to a different variable. I assume it's telling the system to update the parallax location according to the new position of the game window; which is harder to change.
I'll try just copy/pasting the code you're aware of to replace those lines, and see what happens. Actually, since this is ruby-related, the help files might actually be useful this time.
Edit: Turns out that the code you suggested works just fine. It seems that in VX, setting that number to 4 will make the panorama scroll too quickly, and 8 is the appropriate number. Hell yes, things just got easier and interesting. Thanks a bunch.