Some themes use a page template containing a custom loop. The issue is:
Since your theme uses a page to load a totally different query from the page it visits there’s no way for Crayon to know what you’re going to request until it reads your has_posts() request. By that time, the header is already written so there’s no chance to enqueue themes and fonts that you’ve used in your Crayons. Fortunately I’ve added a feature so that they are embedded each time if needed. This is a bit more inefficient I think, but it works by adding the required css right before each Crayon. This issue won’t occur on any other page on the site because direct links to pages and posts containing Crayons will load just fine with enqueuing, which is why the other pages worked for you.
The solution is added in 1.7.17 and 1.7.19. 1.7.17 now uses the the_posts filter by default (again) rather than the wp action which checks just the main wp query. The setting that fixes the issue is this: It basically turns off enqueuing and prints the css in front of Crayon’s whenever it encounters a page. Posts will continue to enqueue themes in the head as usual.