First of all, my apologies for the delay in my response!
It looks as though the main issue described above has indeed been fixed–thank you! Indeed, it looks as though you may have also fixed another issue that I hadn’t yet posted about (I was encountering flickering in certain shaders). 
As to the issue that I mentioned last in my original post–the shadow tutorial program not working–that doesn’t appear to be fixed. Similarly, attempting to display shadows in the “Disco Lights” tutorial produces broken shadows.
However, I have a bit more insight into that, I believe: it looks as though, for some reason, storing the depth buffer in an offscreen buffer doesn’t work on my machine. Showing the buffer via a BufferViewer (such as used in some of the tutorial programs) reveals either a largely flat grey buffer, with some minor, arbitrary-looking variations in tone.
(For those cases in which I’ve wanted depth information in a shader (and I’ll admit that I haven’t yet looked at implementing proper shadows), I do have a work-around: I simply use the lerped screen-space z-coordinate of the vertex in question, storing it in an off-screen buffer if called for.)
Finally, I seem to have picked up two new issues:
(Note that these two issues don’t appear to overlap: they’re used by different levels in the game, and affect different top-level shader files.)
1) I’m getting a warning about an implicit cast from float4 to float3–which is strange, because the line indicated is the return statement of a function, and the return type is float4. Stranger still, the function in question doesn’t appear to be used in the top-level shader file indicated.
This is the error in question, I believe:
:shader(warning): Encountered warnings during compilation of /home/ian/Documents/My Game Projects/Adventuring/Adventuring/leafShader.cg:
./Adventuring/ruinFuncs.cg(38) : warning C7011: implicit cast from "float4" to "float3"
./Adventuring/ruinFuncs.cg(38) : warning C7011: implicit cast from "float4" to "float3"
The file “leafShader.cg” imports “ruinFuncs.cg” via a “#include” statement near the top of the former. This is the code around line 38 in “ruinFuncs.cg” (with line-numbers prepended):
30 float4 treeColour(in uniform sampler2D tex_0,
31 in float2 uv,
32 in uniform sampler2D mossTex,
33 in float mossVal,
34 in float3 l_normal,
35 in float3 lightDir)
36 {
37 float4 colour = tex2D(tex_0, uv)*(1.0 - mossVal) + tex2D(mossTex, uv*2)*mossVal;
38 return colour;
39 }
(Yes, a number of those parameters seem to be unused; that file got a little messy, I’m afraid. ^^; )
2) One of my CG shaders–and only one, it seems–is now failing to load. I don’t seem to be getting error output other than the message that indicates that “the program could not load”, which reads as follows:
:display:gsg:glgsg(error): Could not load program: /home/ian/Documents/My Game Projects/Adventuring/Adventuring/lightingShader.cg (The program could not load.)
(I have checked the path, I believe–it appears correct. Is it relevant that the error appears to be a GLSL error, while the shader is in CG?)
The shader in question is as follows, I believe:
//Cg
#include "Adventuring/ruinFuncs.cg"
void vshader(
in float4 vtx_texcoord0: TEXCOORD0,
in float4 vtx_position: POSITION,
in float3 vtx_normal: NORMAL,
in float4 vtx_color: COLOR,
in uniform float4 attr_color,
in uniform float4x4 mat_modelproj,
in uniform float4x4 mstrans_world,
out float4 l_texcoord0: TEXCOORD0,
out float4 l_position: POSITION,
out float4 l_color: COLOR,
out float3 l_normal,
out float4 l_screenVtxPos:TEXCOORD6
)
{
l_position = mul(mat_modelproj, vtx_position);
l_texcoord0 = vtx_texcoord0;
l_normal = vtx_normal.xyz;//mul(itp_modelview, vtx_normal).xyz;
l_screenVtxPos = mul(mat_modelproj, vtx_position);
l_color = vtx_color.xyzw*attr_color.xyzw;
}
void fshader(
uniform sampler2D tex_0,
in float4 l_texcoord0: TEXCOORD0,
in float3 l_normal,
in float4 l_screenVtxPos:TEXCOORD6,
in float4 l_color: COLOR,
in uniform float4x4 mstrans_world,
out float4 o_color: COLOR0
)
{
float dist = abs(l_screenVtxPos.z);
o_color = tex2D(tex_0, l_texcoord0.xy);
o_color = lighting(l_normal, l_screenVtxPos, dist, l_color, mstrans_world, o_color);
}
As in the issue just before this, this file imports “ruinFuncs.cg” (the function “lighting” comes from there, I believe)–but the error message doesn’t mention that file.
By the way, updating and rebuilding prompts me to ask: have my changes to DirectDialog, DirectRadioButton and Transitions been looked at yet? It’s a minor thing, and I do imagine that you’re busy, I’ll admit, but it’s something that niggles at me when I rebuild and re-install–for one thing, I keep getting tripped up by forgetting to copy over my versions of the files, which causes some of my projects to not work properly. I then diff the three files (against the possibility that other changes have been made to the updated versions), and then (since they don’t seem to have been changed thus far) replace those from the repository with my own versions.