It's because you're using the SetDisplayAspect instead of the SetVirtualResolution command. So either replace the former with the latter or try this:
// using percentage system i.e 100x100
SetDisplayAspect( 0.66 )
// get the screen width
ScreenWidth as float
ScreenWidth = GetDeviceWidth()
// declare and set a ratio
ratio as float
ratio = 100.0 / ScreenWidth
shipImg = loadImage("ship.png")
shipId = createSprite(shipImg)
// scale the sprite to the ratio
SetSpriteScale( shipId, ratio, ratio)
setSpriteAnimation(shipId, 32, 32, 7)
do
Sync()
loop
In short this works out the ratio difference and scales the sprite accordingly.
Edit- forgot to mention two things:
1. When you use the percentage resolution (ie setdisplayaspect) it treats the window as 100x100 instead of the dimensions you see in the setup.agc.
2. I haven't actually run the code but it is based off what I used in my projects.