Two years later, I kept having this issue with features on a vector layer. I found [this file][1] containing a snippet of code that shows how to flip an endpoint if it crossed the dateline:

<!-- language: lang-js -->

    if(Math.abs(startPoint.x-endPoint.x) > 180) {
      if(startPoint.x < endPoint.x) {
	    endPoint.x -= 360;
      } else {
	    endPoint.x += 360;
      }
    }


  [1]: http://openflights.org/widget/jsdoc/overview-summary-map.js.html