Although I'm not an expert in transcoding, it has been noted a few times here in the forums that being able to see the buffer lenght on the seek bar is usually a function of how the raw video is ripped and encoded. This has been particularly evident with mp4 videos that are known to encode the indexing information at the end of the file, and thus will not show buffer lenghth until the entire video has been transcoded. For mp4 files there is a utility called QEIndexSwapper2 that will reformat an mp4 video and place the index in the front of the file so that you can get the behavior your looking for.
I don't have a lot of experience using mkv files but I suspect that your probably seeing a similar issue. I suspect a solution lies within your ripping and formatting process rather than being a Subsonic/JW Player issue.
HTH
Blue ray does take a bit of horsepower to transcode without playback buffering, I have 2 systems that can handle it, one a dual quad core 2.83GHz XEON, and my Core i7 desktop. I have several systems based on quad and 6 core AMD CPU's that just won't cut it.
The best result I get for steaming BR quality video is to rip the video to MP4 and then turn off transcoding so that the video is just passed directly to JW Player. MP4 is a native JW Player format, so playback performance is only limited by band width, which is usually not a problem. Setting up this way takes all the load off the server CPU and I've been able to stream multiple high resolution videos at the same time without problems.
http://webserver.subsonic.org/share/wfgOB