Why does the airway heading differ from my NavLog heading?

There are two things that can cause the heading displayed in the NavLog to vary from the airway heading shown on the chart: 

1. WINDS ALOFT INCLUSION:  Winds aloft information being included can cause ForeFlight to display a heading other than what is seen on the chart.  Winds aloft information is factored into the heading calculation if you are:

    (a) connected to the internet,

    (b) have an altitude and TAS defined and, 

    (c) the ETD is within the winds aloft forecast time. 

2. VOR STATION MAGNETIC VARIATION:  The old Magnetic Variation (MagVar) that the VOR radials are based on has changed.  For example the GEP VOR was setup with a 1965 magvar:

        http://www.airnav.com/cgi-bin/navaid-info?id=GEP

That MagVar has changed quite a bit since 1965, yet GEP was never re-calibrated.  Back then the MagVar was 6E, now it is 1E making for a 5 degree difference.  

If you want to follow a ground track that matches the 85 radial from GEP, and you are using the VOR signal as the reference, then you need to set 85 on your OBS.  But if there is no wind, you will need to actually fly a magnetic heading of 91 to track that course along the ground and keep the needle centered.  

That is 6 degrees of difference, not just 5 as might be expected from solely the magvar difference.  That extra degree comes from doing a more precise calculation than you can pull from the chart (the chart has to round the degree values to be read-able).  After we do our calculations, we round to the nearest degree, again to make it digest-able by the pilot.