You can probably do this by adding a parameter to the url string for the poster image. On roku, generate a timestamp and add it to the url.
dt=createobject("roDateTime")
value=dt.AsSeconds()
transferstringurl=transferstringurl+"?ts="+value.toStr()
ie
http://myservername.com/images/myposter.jpg?ts=1494302631
Or you could modify the headers - (not sure if it works from roku's client side, but it'd be something to set on the server side)
Cache-Control: no-cache, no-store, must-revalidate
Pragma: no-cache
Expires: 0
You'd need to update the hdposterurl and sdposterurl for the item every time you want the poster to change, and you'll need to update all displayed content lists with the new data whether their screens are visible or not, to be sure it propagates the new image to everything (to be on the safe side) - or maybe you won't depending on how your code is set.