I recommend adding Print() statements to your script, outputting GetCurrentBid() and Enter_Short_Offset and GetCurrentBid()+Enter_Short_Offset to see what values you're actually getting. Put the Print() statements within the same brackets as your EnterShortLimit() command. If you don't get anything printed, your entry conditions are not being met. If you do, make sure the limit price is what you expect it to be. If it is, well, then something else must be wrong, possibly elsewhere in the script. And have you checked the Log for errors that may clue you in to what's wrong?
Sorry, I now see that you are getting your orders filled, just not where you want. I still recommend the Print() statements. If adding the current bid to your offset isn't working, then that's what you have to fix. And you can do it by simply performing calculations before ever bothering to enter a position, even in Sim. Just fix your addition/subtraction problem. Only way to see what it's actually doing are those Print() outputs.