The likelihood of the ciphertext file and the plaintext file being exactly the same length is very small. Most encryption, and I believe all of the supported algorithms in the CryptoAPI, use a block format encryption. So unless your plaintext file lands on the exact block boundry, the two files will be different sizes.
To handle files that don't meet the block boundary, there is normally a padding character that is assigned to fill out the block. In some algorithms, the last byte of every block indicates the number of padding characters (which will significantly alter the size of the ciphertext). I wouldn't worry too much about a size difference, as long as what you put in is what you get out.
A hash of the input (plaintext) file and the output (plaintext) file should produce the exact same value.
pansophic