using the dimensions of your 2D sprite representing your isometric object doesn't sound like a solid idea to me. a long object along the x axis might has the same sprite width as an object which is wide along the y axis, but both might have different collision boxes.
I would treat those 2 values seperate and calculate collision using bounding boxes that approximate the dimension in isometric space. the offset makes sense because sometimes its not easy to approximate a box for your object. if you have a tree for example, the crown is going to be much bigger than the actual collisionbox which only includes the trunk, but you also want to have the sprite centered within the box and therefor you move the 2D sprite using your offset values.

The image above shows a large sprite (white), with a small collision box (blue) and some offset is used to center the sprite correctly.
Seperating your visual representation from the collision is the way to go in my opinion, even if objects can't be larger then 1 tile of your grid.
xandyare the location of the sprite's tile on the isometric grid, and thatOffsetXandOffsetYare regular rectangular pixel offsets? You're going to need to define a size for these sprites... once you go beyond "two sprites can't share a tile," you can't get any further without saying "this sprite is a 20x20 pixel box" or "this sprite is a circle with radius 30px." – John Calsbeek Feb 18 at 3:53image.widthwill equal the image in pixels wide. Although its more complex due to alot of sprite images contain alpha areas. Which is why its hard. – Dave Feb 18 at 4:08