Trigonometry simplifies this a ton.
float distance = 2.0f; // Some distance to travel
Vector3 pos = player.Position; // Current player pos
pos.X += distance * (float)Math.Sin(-heading * Math.PI / 180.0);
pos.Y += distance * (float)Math.Cos(-heading * Math.PI / 180.0);
That should work the same.