何のAPIを使ったらそうなったのかは知らんが、
 Func(int bitmapID);
 Func(LPCTSTR fileame);

という感じで関数オーバーロードでも働いてたんじゃないの?
つまりは偶然。
使ってるAPIのリファレンスを調べてみることをオススメする。

ちなみに余談だが、Windowsアプリの話だと
#define IMAGE 101となってる場合、
*.rcファイル内で
//
// Bitmap
//
IMAGE  BITMAP DISCARDABLE "image.bmp"

という感じでマッピングされていて、
IDを指定して、対応するリソースを取得する仕組みになってる