OK it seems I found something:
Firstly, It seems that if the collision poly is set to bounding box, the first point is bottom-left and the rest are in a clockwise fashion.
With the following code I was able to calculate the new collision poly:
this.type.animations[0].frames[0].poly_pts[0]= -hx/this.width
this.type.animations[0].frames[0].poly_pts[2]= -hx/this.width
this.type.animations[0].frames[0].poly_pts[4]= 1-(hx/this.width)
this.type.animations[0].frames[0].poly_pts[6]= 1-(hx/this.width)
this.type.animations[0].frames[0].poly_pts[1]= 1-(hy/this.height)
this.type.animations[0].frames[0].poly_pts[3]= -hy/this.height
this.type.animations[0].frames[0].poly_pts[5]= -hy/this.height
this.type.animations[0].frames[0].poly_pts[7]= 1-(hy/this.height)
Now the problem is that it's not instantly updated. It's only when you perform a scale or rotation operation that it "snaps" into its proper position.
Updated plugin and CAPX:
https://dl.dropboxusercontent.com/u/14855413/c2/originatruntime2/sprite.rar
https://dl.dropboxusercontent.com/u/14855413/c2/originatruntime2/hotspot1.capx
If you try it out, first enter some new values for x,y origin and then use right click to rotate and middle click to scale.
Please if someone can share his thoughts or can find why the poly is updated only after a rotation/scale operation I would really appreciate it.