You can find the story Heartless here:
If you haven't read this story, consider this a huge, bouncy rec with chocolate sprinkles. :D It's an AU, a mystery about a serial killer. Viggo is a detective on the case, Orlando is one of the victims (as of this writing, he's not dead yet [wink]), and various other LOTR cast and crew take other character slots. Go read it!
WARNING: DO NOT GO ANY FARTHER IF YOU PREFER TO ENJOY THIS STORY AS IT COMES, WITHOUT HEARING OPINIONS ABOUT WHAT THE "ANSWER" MIGHT BE, OR IF YOU PREFER TO FIGURE IT OUT ON YOUR OWN. IF THERE'S ANY CHANCE AT ALL THAT THIS DISCUSSION MIGHT SPOIL THE STORY FOR YOU, THEN PLEASE DON'T LOOK UNDER THE CUT, OR AT ANY OF THE COMMENTS!
OK, my guess is that the CK is Craig. Reasons?
Craig knows Viggo well. He knows that he's working on this case, how he goes about it, how he thinks. The killer knows that Viggo's "always thinking," which means he almost has to know him personally. This could be from observation over the year plus of the case, but it could also be because he lives with him and knows him quite intimately.
Craig knows ahead of time that Viggo's going to London, so he knew to mail him the pictures and coded message there. Let's look at who all knew Viggo was going to London -- his boss Barrie, Ian, Sean... and Craig. It might be Barrie, but we haven't seen or heard from him since the first chapter, plus there was no mention of him having been away from work long enough to kidnap and kill the first London guy and then kidnap Orlando, so making him the killer would be cheating. :) If it were Ian or Sean, one of them would have had to have been on extended leave from work recently, to have been in the US for all the time the CK case has been ongoing, or at least they'd have had to have been flying back and forth a heck of a lot. Nothing like that's been mentioned, so it really couldn't have been either of them, unless, again, the authors are cheating and I don't think they would.
Craig was away from home when the killer was at work in London. He told Viggo he was in New York on a business trip, but since they kept in touch by mobile, who knows where he actually was? I think he was in London. This would also explain why he seemed mildly surprised that Viggo thought he might've woken him up when he called, even though it was 6:00am "there," in New York; if he was actually in London then it's closer to noon and it makes sense that he wouldn't have expected a caller to apologize for waking him.
Craig rejected Viggo's offer to pick him up at the airport when he "arrived" in England. He had a good reason, a very sweet, boyfriendish reason, but that's not the only possible interpretation. I think he was already in London and didn't want to let Viggo know that.
Craig knew that Viggo was going to be staying with Orlando in a safe house, because Viggo told him. What I said in the open on the community board is true, a smart killer could have figured that out. But Craig didn't have to figure it out because he'd gotten the info right from the source. And there's no reason for him to be in a hurry to get Orlando back, because he can keep a vicarious eye on him through Viggo; Orli's not going anywhere, from Craig's point of view.
I think that Viggo's been feeding the killer info about the investigation for as long as it's been going on. I think one of the reasons the killer's been a step ahead of them all this time is that he has up-to-the-minute intelligence on what his opponents are doing, what they're thinking, and how they're going about searching for him. This makes things very interesting. :) It also means that the final clean-up of loose ends in Viggo's personal life will be wrapped up smoothly at the end of the story, since he can't really settle down with Orlando until the killer's been caught, and when he catches the killer he won't have a fiance any more. [wry smile]
Anyway, that's what I think. I'm looking forward to hearing other theories, discussion, debates, all that sort of thing.