I'm so stupid. Tick = DXUtil.Timer(DirectXTimer.GetElapsedTime) is going to be a constant, like I said. You need an increasing value.
Try:
// initialize TickTick = 0;...Tick += DXUtil.Timer(DirectXTimer.GetElapsedTime)/16.0FMat1 = Matrix.Multiply(Matrix.RotationX(DXUtil.DegreeToRadian(20) * CSng(Math.Cos((CDbl(Tick)/60.0F))), Mat2)
or something similar.
I'm assuming the DXUtil.Timer(DirectXTimer.GetElapsedTime) returns the number of millseconds since DXUtil.Timer(DirectXTimer.GetElapsedTime) was last called. If so, 16.0F corresponds to about 60 FPS and Tick will increase by 1 each frame.
In one second, Tick should go from 0 to 60, Tick/60 will go from 0 to 1 and cos() will go from 1 to 0.5. You should see a periodic change. Then you can adjust the 60.0f to suit you - increase it to slow the rotation down; decrease it to speed the rotation up.