There is nothing wrong with it being set to zero. Nothing wrong with changing it to 256 or 512 either.

SecondLevelDataCache records the size of the processor cache, also known as the secondary or L2 cache. If the value of this entry is 0, the system attempts to retrieve the L2 cache size from the Hardware Abstraction Layer (HAL) for the platform. If it fails, it uses a default L2 cache size of 256 KB. If the value of this entry is not 0, it uses this value as the L2 cache size. This entry is designed as a secondary source of cache size information for computers on which the HAL cannot detect the L2 cache.
in other words when it is set to zero it forces another attempt to use HAL to retrieve the cache size before defaulting to 256.

My above quote is from Microsoft KB Detailed Explanation of SecondLevelDataCache