SQL Server : Perfmon Counter Incorrect value
You should use the sys.dm_os_performance_counters DMV instead of the sysperfinfo backward compatibility view. That will report the same value, though.

The DMV counter value is cumulative since the SQL instance was started. Counter values reported by Performance Monitor for this counter are per second so you'll see non-zero values only when the total lock wait time is 1 ms or greater over the last second.

To verify the counters are working as expected run the scripts below to create a blocking lock for the duration of a transaction:

--Run this script in SSMS query window #1
USE tempdb;
CREATE TABLE dbo.LockTest(
    Col1 int NOT NULL IDENTITY CONSTRAINT PK_LockTest PRIMARY KEY
    );
BEGIN TRAN;
INSERT INTO dbo.LockTest DEFAULT VALUES;
WAITFOR DELAY '00:00:10';
COMMIT;
GO
DROP TABLE dbo.LockTest;
GO

--Run this in SSMS query window #2 while the first script is running
SELECT * FROM dbo.LockTest; 


PMON will show a non-zero value for both the 'KEY' and '_Total' instances of Lock Wait Time(ms) after running these scripts.